Home page course accessibility improvements

With more "courses" joining every week and multiple queues per course, the front page is getting crowded.
I suggest either a search bar that can search all queues (as characters are typed in, while also displaying which course a queue belongs to), or a home page with only course names, in perhaps a "compact view", which on being clicked, displays the queues for that course only.
I really think a search feature is helpful (especially for mobile devices), as once the queues overflow one screen on a device, it becomes inconvenient to keep scrolling.
Perhaps comfortable density, can become compact density (without such large margins).

Some related Ideas that may be a stop-gap measure:

Order the queues by "recently viewed", to make sure the queues you visit recently are top on the list

Allow users to "star" a queue, which is sorted to the top of the list


Wrong font

The screenshot shows a clean sans-serif font - but it's some kind of serif font on my app.

index.less seems to use a "Google Sans". What font is that?

Hi @Mr-Anonymous75, in the link below, you will find a short info about Google sans
https://www.xda-developers.com/google-sans-font-chrome-os/
You can comment or delete the custom font family or replace it with one of your liking that you have installed on your machine

Thanks! I wasn't really expecting a response - especially this soon.
It seems like Google Sans is only available on ChromeOS. Is there any way I can get it on Windows, or will I have to change the font?
On Jun 17 2022, at 3:31 pm, Garzone² @.***> wrote:

Hi @Mr-Anonymous75 @./0?redirect=https%3A%2F%2Fgithub.com%2FMr-Anonymous75&recipient=cmVwbHkrQVJQR0JXSUdMVFlMRjJZTTJEMkNDNEdBWEdCWFhFVkJOSEhFWDZUVEFRQHJlcGx5LmdpdGh1Yi5jb20%3D), in the link below, you will find a short info about Google sans
https://www.xda-developers.com/google-sans-font-chrome-os/ @./1?redirect=https%3A%2F%2Fwww.xda-developers.com%2Fgoogle-sans-font-chrome-os%2F&recipient=cmVwbHkrQVJQR0JXSUdMVFlMRjJZTTJEMkNDNEdBWEdCWFhFVkJOSEhFWDZUVEFRQHJlcGx5LmdpdGh1Yi5jb20%3D)
You can comment or delete the custom font family or replace it with one of your liking that you have installed on your machine
—
Reply to this email directly, view it on GitHub @./2?redirect=https%3A%2F%2Fgithub.com%2FGianniLab%2FMailspring-Eleven-Dark%2Fissues%2F1%23issuecomment-1158713823&recipient=cmVwbHkrQVJQR0JXSUdMVFlMRjJZTTJEMkNDNEdBWEdCWFhFVkJOSEhFWDZUVEFRQHJlcGx5LmdpdGh1Yi5jb20%3D), or unsubscribe @./3?redirect=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FARPGBWLWBKNEFPTJFHDLDZDVPREHXANCNFSM5ZBNU7VA&recipient=cmVwbHkrQVJQR0JXSUdMVFlMRjJZTTJEMkNDNEdBWEdCWFhFVkJOSEhFWDZUVEFRQHJlcGx5LmdpdGh1Yi5jb20%3D).
You are receiving this because you were mentioned.

Hi!
For Google Sans you can find it here https://github.com/sahibjotsaggu/Google-Sans-Fonts
You have several options:

you can comment / delete the custom font family or replace it in index.less with a font of your liking that you have installed on your machine
or re-download and update the theme, after your report I proceeded to add the "system font" as an alternative to google sans

Hi!
For Google Sans you can find it here https://github.com/sahibjotsaggu/Google-Sans-Fonts You have several options:

you can comment / delete the custom font family or replace it in index.less with a font of your liking that you have installed on your machine
or re-download and update the theme, after your report I proceeded to add the "system font" as an alternative to google sans

Thanks for your help! I installed Google Sans and now the theme works perfectly.


Fix www.lpic2.com.br/logs

Fix error in access this page: www.lpic2.com.br/logs
You don't have permission to access this resource.

Fixed


Add README to c++ and java bazel extractors. [phab:D1963]

Created by nbeloglazovgoog at 2017-09-30 05:53:58:

shahms commented inline (context lost during migration) at 2017-10-02 15:11:30:
This is unlikely to actually work without additional configuration disabling the sandbox.  I would expect the extractor to be used via an external Bazel dependency:
io_kythe//kythe/cxx/extractor:cxx_extractor_bazel
(Although, sadly, given Kythe's current setup requirements, this is unlikely to work out of the box).

shahms commented inline (context lost during migration) at 2017-10-02 15:11:30:
Would suggest "cxx.kindex" as the extension

shahms commented inline (context lost during migration) at 2017-10-02 15:11:30:
cxx

nbeloglazovgoog wrote at 2017-10-03 03:43:49:

Replace c++ with cxx in filename extension.

nbeloglazovgoog commented inline (context lost during migration) at 2017-10-03 03:47:51:
I tried that initially. The problem I faced is that I have to include all libraries from Kythe's WORKSPACE file in my bazel project's WORKSPACE file: https://docs.bazel.build/versions/master/external.html#transitive-dependencies So it ends up quite a lot of work. I couldn't make it work at the end.
And using this hack with using binaries from Kythe installation directory seemed much easier. Also it doesn't require cloning the whole Kythe repo locally.

shahms accepted this revision at 2017-10-03 13:52:24

zarko closed via commit e9a07b6fbb1e92a469295d008b74b32b785a27e3 at 2017-10-03 17:50:25


BRS-1020: New Metrics FE changes

Jira Ticket:
BRS-1020
Jira Ticket URL:
https://bcparksdigital.atlassian.net/browse/BRS-1020
Description:
Requires https://github.com/bcgov/parks-reso-api/pull/252.
IMPORTANT:
There are now two very similar instances of metrics related services in the codebase:

Instances of metric refer to implementations for the OLD metrics services & systems.
Instances of metrics <- NOTE THE plural 's' refer to implementations of the NEW metrics system.

References to the old implementations remain in the code base as their functionality is important for future tickets (BRS-1049) but should be phased out in a future ticket.
Front end changes to go along with the new API changes for continuous metrics monitoring. Statistics for this iteration include Pass Breakdown by Status and Pass Activity by Day. Date range length is limited to a 1 year period maximum.
Resolver will preselect 'All Parks' on first navigation to the metrics page, but user must select a date or date range to do an initial search of metrics. If a refinement of params is done on the page, the params will be saved if the user goes to a different part of the site and then comes back.
Pass Activity By Day will only render if a single facility has been selected.
Pass Breakdown by status will only render if passes were found.
The old Export button that generated a .csv of all passes in the system has been removed - it is expected that this button and its functionality will be reintroduced in https://bcparksdigital.atlassian.net/browse/BRS-1049 as the new metrics system is better suited to generate this csv. The functionality for the old export remains in the codebase as reference but should probably be removed as part of BRS-1049.

Noting the following for future benefit:
The metrics filter is subscribed to park/facilities changes so that the park/facility picklists can be populated. When the autofetcher fires (every 5 mins) the picklists should be updated in case any new parks/facilities were added - however, when updating the select options for the picklist, the picklist shared component displays the first item in the new picklist BUT keeps the value of the previous picklist, resulting in the incorrect string being displayed for the picklist control. It's not certain whether this is an Angular issue or otherwise but updating the picklist on autofetcher firing has been disabled for now.
The risk of this is: IF someone updates a park/facility and the autofetcher picks up the change, and IF a metrics user has been sitting on the page long enough to pull the updated change, the available parks/facilities to pick from the metrics filter may be out of date (but can easily be fixed with a page refresh).


KMS: add API definitions and crate for KMS integration

This PR include the following:

Added a crate deps/kms
Added Datakey API abstraction inside deps/kms
Added KMS module API abstraction inside deps/kms
Implemented an example for KMS

related to https://github.com/confidential-containers/attestation-agent/issues/183
This PR will help to give a basic lib for image en/decryption using KMS.
cc @fitzthum @jialez0

Hi @jepio , I've updated the PR to try to simplify the API. Also, iv is attached in Sample KMS. Thanks for your suggestions, please take another look if it looks good to you.

So the interface now is:

generate_key generates a symmetric KEK
encrypt is used for LEK encryption (wrapping)
decrypt is used for LEK decryption (unwrapping)
?

If this is only for image decryption/encryption then that's probably good enough, but we'll need to see how the API fits existing implementations.

@jepio This is a basic abstraction for KMSes. We can use this as a primitive to construct the image en/decryption. After this PR I will open another to impl this.


Extract commands for provisioning a kubernetes master from the cloud-config file

Create a template for provisioning a kubernetes master node based on the cloud-init file.

Coverage remained the same at 42.772% when pulling 5344ece110b308afdae3ac43d4c208ee00ea8d22 on saheienko:provision_master_task into f397d028dad55dcbd546e6d4752777b8b6752201 on supergiant:master.


How get user_session on upsert_feedback custom data layer ?

I want to impelement user feedback without literal AI and i got tutorial from this link.
https://medium.com/@yukthihettiarachchissck/enable-human-feedback-in-chainlit-without-literal-api-key-and-save-feedback-95bfd3a01073
i want to get variabel from cl.user_session in method upsert_feedback.  so that i can make an action after user give feedback like store to database or something.  but i always got an error "Internal Server Error: Chainlit context not found".
please somebody help me!
this is my simple script ------
class TestDataLayer(cl_data.BaseDataLayer):
async def upsert_feedback(self, feedback: Feedback):
message_id = cl.user_session.get("message_id")
print(message_id)
print(feedback)
return 'done'

This is because the context is only available via socket. The upsert_feedback method is called via a rest endpoint in server.py.
The FeedbackDict has a forId which is the id of the step (message) that the user gave feedback on.


Some changes for Linux and Windows users.

Thank you for your document fix! This fix will be helpful for a lot of users.

@ppamorim There's something I need to ask you. Do you use Windows or Linux machines?
In fact, I don't have both machines, and cannot check this plugin work properly...

Linux

@ppamorim Thank you for your reply :+1:


made changes to ensure float calculations for python2

Hi Tome,
I tried to test the projects affected by this PR and when i tested inception_v2 I get the following with this PR but it seemed to work without the change:

1000 nan
328 nan
341 nan
340 nan
339 nan
Expected:  (1, 1001)
947 0.999625
808 0.000375067
791 1.48096e-09
229 1.08099e-11
790 3.16383e-13
/usr/local/bin/ncsdk/Controllers/Metrics.py:75: RuntimeWarning: invalid value encountered in greater
diff)) / total_values * 100

Obtained values
Obtained Min Pixel Accuracy: nan% (max allowed=2%), Fail
Obtained Average Pixel Accuracy: nan% (max allowed=1%), Fail
Obtained Percentage of wrong values: 0.0% (max allowed=0%), Fail
Obtained Pixel-wise L2 error: nan% (max allowed=1%), Fail
Obtained Global Sum Difference: nan

Hey Tome, there was a change in the master that addressed this issue.  when i merge your PR with the current master the problem goes away so I think its good to merge

will make new pr with updated branch

You don't actually need to create a new PR, it will merge in to the master.


Microsoft.DevCenter update OperationStatus model to match arm contract to fix LiveValidation

ARM API Information (Control Plane)
This PR updates the OperationStatus Model to match what's actually returned by ARM to fix LiveValidation
Changelog
Add a changelog entry for this PR by answering the following questions:

What's the purpose of the update?

[ ] new service onboarding
[ ] new API version
[ ] update existing version for new feature
[x] update existing version to fix swagger quality issue in s360
[ ] Other, please clarify

When are you targeting to deploy the new service/feature to public regions? Please provide the date or, if the date is not yet available, the month.
Already Live
When do you expect to publish the swagger? Please provide date or, the the date is not yet available, the month.
ASAP
By default, Azure SDKs of all languages (.NET/Python/Java/JavaScript for both management-plane SDK and data-plane SDK, Go for management-plane SDK only ) MUST be refreshed with/after swagger of new version is published. If you prefer NOT to refresh any specific SDK language upon swagger updates in the current PR, please leave details with justification here.

Contribution checklist (MS Employees Only):

[x] I commit to follow the Breaking Change Policy of "no breaking changes"
[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and errors have all been fixed in this PR. How to fix?

If any further question about AME onboarding or validation tools, please view the FAQ.
ARM API Review Checklist

Applicability: :warning:
If your changes encompass only the following scenarios, you should SKIP this section, as these scenarios do not require ARM review.

Change to data plane APIs
Adding new properties
All removals

Otherwise your PR may be subject to ARM review requirements. Complete the following:

[ ] Check this box if any of the following apply to the PR so that the label "ARMReview" and "WaitForARMFeedback" will be added by bot to kick off ARM API Review.  Missing to check this box in the following scenario may result in delays to the ARM manifest review and deployment.

Adding a new service
Adding new API(s)
Adding a new API version
-[ ] To review changes efficiently, ensure you copy the existing version into the new directory structure for first commit and then push new changes, including version updates, in separate commits. You can use OpenAPIHub to initialize the PR for adding a new version. For more details refer to the wiki.

[ ] Ensure you've reviewed following guidelines including ARM resource provider contract and REST guidelines. Estimated time (4 hours). This is required before you can request review from ARM API Review board.

[ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.

Breaking Change Review Checklist
If you have any breaking changes as defined in the Breaking Change Policy, request approval from the Breaking Change Review Board.
Action: to initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Additional details on the process and office hours are on the Breaking Change Wiki.
NOTE: To update API(s) in public preview for over 1 year (refer to Retirement of Previews)
Please follow the link to find more details on PR review process.

Hi, @nickdepinet you'd better add the S360 link in your PR. And start breakingchange review follow this

Hi @nickdepinet Nick Depinet FTE, one or multiple breaking change(s) is detected in your PR. Please check out the breaking change(s), and provide business justification in the PR comment and @ PR assignee why you must have these change(s), and how external customer impact can be mitigated. Please ensure to follow breaking change policy to request breaking change review and approval before proceeding swagger PR review. Action: To initiate an evaluation of the breaking change, create a new intake using the template for breaking changes. Addition details on the process and office hours are on the Breaking change Wiki. If you want to know the production traffic statistic, please see ARM Traffic statistic. If you think it is false positive breaking change, please provide the reasons in the PR comment, report to Swagger Tooling Team via https://aka.ms/swaggerfeedback. Note: To avoid breaking change, you can refer to Shift Left Solution for detecting breaking change in early phase at your service code repository.

Here is LiveValidation Link from S360: https://portal.azure-devex-tools.com/amekpis/correctness/detail?errorId=B3CD67F4-EE51-4E51-AEE4-549448B651C6


Feature: Callout Mode

Adding a setting that includes the users review and film poster in a custom [!letterboxd] callout. This setting is off by default. Example image below.
Benefits of using custom callout:

Easier for users to customise styles.
Easier to embed blocks, for example in daily notes.
Easier searching in dataview

Callouts can be minimised but default to being open. Could potentially have an additional option for this but that feels too detailed imo. If there is no review text it remains as a header.
Custom CSS is used for:

Letterboxd colour scheme.
Film poster styling. (Text wrapping, placement, matching Letterboxd homepage, etc.)
Making callout icon the Letterboxd icon.

I like the concept. Do you think this could lead to performance issues if the user has too many of these callouts?
In terms of settings, should we use a toggle here or perhaps a "Display" dropdown with multiple options for "Text-Only" and "Callouts"?

I've looked into it a bit and I can't seem to find any people mentioning performance issues when it comes to callouts. At the end of the day this is all being rendered in Electron so I imagine it's no more stressful than a regular site.
I've taken your advice and made a few changes:

Made the callout setting 'Display' with four options: Text, Text w/ Review, Callout, Callout w/ Poster. Let me know if this is too granular!
Added a 'Star' setting. Thought about putting this in another PR, but it does tie in with 'Display' setting.
Changed output to be a switch function with comments to make the differing options clearer.

Yes this looks a lot better, just a few comments

Sorry do you mean you have a few comments about the code, or that there are too many comments actually in the code? Thanks!

I had added a few comments as part of my review. There are four of them. Hopefully they aren't too complicated.

Hey, I can't seem to see any review comments anywhere — are you sure they were submitted? I can see your requested changes on the other open PR with no issue. Thanks

Made those changes!

Broke out the section you suggested into printOut. As a lot of variables were defined within that map function I ended up breaking out more than expected.
Used literal strings instead of enum for callout setting.
Removed unused 'SetIcon' dependancy
Added a default case to starParser & marked rating nullable
Removed that CSS comment

Looks good to me. I'll package this up now.


Update padding, alignment, and font size of CardView

Platforms Impacted

[X ] iOS
[ ] macOS

Description of changes
Updated card view. Card view currently supports two variations, horizontal and vertical.

Horizontal layout changes:

Changed the padding so the overall card height is larger.
Changed the width to be larger.

Vertical layout changes:

Center aligned title, subtitle, and icon.
Decreased the title and subtitle font sizes
Increased padding to increase overall card size.

Verification
Manually tested and checked the changes.

Before
After

Pull request checklist
This PR has considered:

[ ] Light and Dark appearances

[ ] iOS supported versions (all major versions greater than or equal current target deployment version)

[ ] VoiceOver and Keyboard Accessibility

[ ] Internationalization and Right to Left layouts

[ ] Different resolutions (1x, 2x, 3x)

[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)

[ ] iPad Pointer interaction

[ ] SwiftUI consumption (validation or new demo scenarios needed)

[ ] Objective-C exposure (provide it only if needed)

Microsoft Reviewers: Open in CodeFlow

What's the reason for the change? The designs in the Fluent iOS Figma don't seem to have been changed.

Maybe out of scope for this review, but sounds like we want to rename the class, also? Doesn't sound like we've decided on a name yet, though.

Did you check the accessibility of the control? Dark mode, pointer support, high contrast?

Did you check the accessibility of the control? Dark mode, pointer support, high contrast?

Also different text sizes. Is the control supposed to grow as the text does, or do we need to add large text viewer support?

@huwilkes
Renaming the class

There hasn't been a decision yet. There will be a vnext of the fluent card and we have until that point to rename. Because this component isnt used by anyone right now, I was not concerned on the rename until the next version is created.
"Did you check the accessibility of the control? Dark mode, pointer support, high contrast?"
None of the changes I made affect how accessibility, darkmode, point support, or high contrast are currently supported in the component. My assumption was those have already been taken care. I did do a quick check and made sure that larger text size and dark mode still work as expected.
"Also different text sizes. Is the control supposed to grow as the text does, or do we need to add large text viewer support?"
I kept with the current implementation which changes the height of the component as the text size gets larger.

darkmode, point support, or high contrast are currently supported in the component. My assumption was those have already been taken care. I did do a quick check and made sure that larger text size and dark mode still work as expected.

"Also different text sizes. Is the control supposed to grow as the text does, or do we ne

Did you happen to validate RTL scenarios too? (as you're touching constraints, it's a good sanity validation as well).
Do you mind filling the validation on the description of the PR with the validations you performed?
Thanks!


Merge everything into master

Hitting a problem in the SafeChecker. @mattam82 can you have a look tomorrow? It's probably easy to fix, but I don't know what changed in the safechecker in the last weeks, and the error is a monad error / typeclass error, and those are a bit painful to debug without understanding the code

Ok, I'll have a look

Did you manage to solve the error in the program? I can take over for the rest again once that's solved.

Yep, seems to be opam version problems now.

I fixed the CI issues, and then merged with the current state of 8.11 again.
Now everything back to start: I'm hitting a universe minimisation issue in PCUICTypeChecker and can't close a proof in PCUICCanonicity.
For now I'm testing locally on coq-8.13.0, the port to master can wait for after that.
@mattam82 could you help me out again?

I fixed the CI issues, and then merged with the current state of 8.11 again.
Now everything back to start: I'm hitting a universe minimisation issue in PCUICTypeChecker and can't close a proof in PCUICCanonicity.
For now I'm testing locally on coq-8.13.0, the port to master can wait for after that.
@mattam82 could you help me out again?

Hmm, seems to be an issue of compilation of primitive integers... I'll have to try an reproduce

We can close this right?

Yes!


add .idea folder

Reasons for making this change:
".idea" is just missing

ah yes, I'll change that.

@nerdoc I recommend tailoring your .gitignore based on the tools you are using.

See #3451 for an optional solution


Is required Cognito Pool Id for mqtt connection

Hi all,
Is required Cognito Pool Id for mqtt connection ?

Hi @yusufonderd, Are you referring to IdentityPool or UserPool?

Yes it is. For example iot java sdk don't need cognito. It this possible for android ?


Enhancing the decision process text when working with images

Is your feature request related to a problem? Please describe.
The decision process output prints out the entity_type, start_position, end_position and the score. When working with longer sequences of texts or with images, printing start = 204 end = 217 doesn't really mean anything and it is hard to see where that is.
Describe the solution you'd like
Add an entity_text where the the text in question is also printed: printing start = 204 end = 217 entity_text = "Saint Antonio"
I solved this on my version by adding
entity_text: str,
in recognizer_result.py init function which then affected also image_analzer_engine.py, image_recognizer_results.py, spacy_recognizer.py and pattern_recognizer.py
but the output is rather more readable

While at it, in analyzer_engine.py line:222 I modified the line so that the code prints out every case in a new line , even more readable
json.dumps([str(result.to_dict()) for result in results]**, indent=2**),

Does this help? https://github.com/microsoft/presidio/discussions/925#discussioncomment-3781214

Sorry that wasn't well explained. I'm not reporting a bug but rather a feature I implemented on my version of Presidio that might help others too. See when you work with images or a lot of text while having your log_decision_process=True , the printed text will be for many many instances where it detected something and the log becomes unreadable. Please remember it prints that automatically no explicit print command is used as in your shared comment above.
If I have one line example thats fine I can look quickly see what these position refer to but when you have many of these stacked together because it is coming from an image of a document , you don't know anymore what is what. So I did the above mentioned modifications to change it a bit to make it more readable
Every new case will begin in a new line and observe that there is now a  'entity_text' which will show that text that is detected (I covered it with red for the obvious reasons), now you don't have to guess what line was that in the image what position etc... This is more readable and help the anlaysis of the annomyization results.
before

after

One of the reasons we intentionally left out the actual identified text, is because it is essentially PII you might not want to log or return. If you have a suggestion on how to allow this, perhaps not asa default setting, we'd be happy to hear.
I totally agree that there are cases, especially with the images module, where returning or logging the actual text is needed.

Well they are already printed out in the beginning anyway
[2024-04-24 12:46:05,853][decision_process][INFO][None][nlp artifacts:{"entities": ["Travaux", "Forage D'Eau Du", ...

Absolutely


iPad: Settings UI does not render

iPad, codespaces or run yarn web and connect to it from your iPad
Open Settings UI -> nothing gets rendered
Regular settings.json nicely opens
I can reproduce this both with Chrome and Safari

I can repro in desktop safari, cool.

@roblourens great!
Then I am unassigning myself. Let me know if I can help though.

Suspicious async code that ran one way on Chrome and another way on Safari

Thanks for fixing, I tried it out and now it renders nicely -> verified


HUE-8677 [oozie] Oozie batch snippet hangs

And to be sure: still compatible with Oozie 4.3 (MR launcher job) or Oozie 5 (YARN launcher job)?

Yes, I’ve checked with both Oozie 5.1 and Oozie 4.3 by launching sqoop1 snippet mentioned in JIRA ticket, and by launching some workflow from Hue examples.

Ok, thanks!


Bug in error handling

I recently found a bug in error handling of iniparser_load. Look at Line 732 of iniparser.c! That break jumps out of the switch, not the while loop processing the lines. errs is set, but processing will go on, errs will be overwritten if a following line is syntactically correct, so the returned dictionary won't be NULL.
Currently there is no way that the programmer could detect the syntax error, only the user can (stderr). Look at Commit 8ffcea6f516270f84ef7716c983fd2982ecd9b91 pointing that out.
I didn't create a pull request for this as I don't know what error handling strategies would I follow.

Stop at first syntax error, free everything and return NULL.
Detect and print all syntax errors, free everything and return NULL.
Print syntax error, but return a valid dictionary.

The current implementation varies between 2 and 3. If there was a valid Section or Value line after syntax error, it's 3, otherwise 2.
I provided a fix resulting in 1 (e78613270c28891215b2fa2a0b21914e9ee78175), but that's just ugly. Bad thing is, the breaks are chaotic in iniparser_load. I can rewrite it using goto instead of random breaks, either implementing strategy 1 or 2, like this, if necessary.
It is your job to decide the strategy, feel free to cherry-pick these commits if you want strategy 1.

There is another huge problem in iniparser_load about error handling: it writes the message to stderr. This is just fine for CLI programs written in C, but consider the following:

GUI applications that have stderr omitted, and would like show the message to the user.
C++ wrapper for iniparser. In C++ it is usually better to throw something derived from std::runtime_error containing the message instead of arbitarily printing to stdout.

So most C libraries have const char * getlasterror() to handle the problem, and this gives a workaround for both problems. You can see my approach: 83c45bf29452b1fdbe4181d2ae9dbb7605b2b7df
Note that this isn't perfect either. For example it contains possibility of buffer overflows, that could be solved by snprintf. Bad news: snprintf is not part of the C89 standard, and only the latest MSVC compilers have the C99 compatible version...
This change has only a small impact on the API, so it can be changed without breaking  code based on iniparser. More bad news: CLI programs might expect that iniparser writes the errors to stderr.
A possible solution: logging both into stderr and ERRORBUFFER by default, and adding void iniparser_stderr(int enabled) function that would toggle printing to stderr.
This is another question that You should decide.
dobragab

Hi and sorry for the slow answer ;-)
For the first point, I've created PR #77, tell me if you see any caveat...
I agree with you about iniparser's stderr dumping of messages. To fix this, I've created a PR #76
which define a iniparser_set_error_callback function to allows user to define it custom callback receiving error messages.

Hi,
I've checked PR #77. It prevents this piece of code to be reached:
if (errs<0) {
    fprintf(stderr, "iniparser: memory allocation failure\n");
    break;
}

This means two things:

iniparser: memory allocation failure\n will never be written to stderr
The loop will continue even if we are out of memory, because this break won't be hit.

I've also checked PR #76. It looks like you've found a flexible solution that can be used pretty well. I don't think this is the case.

First, I don't exactly know how many C programmers know how to write a variadic function, but I bet not everyone.
Second, this doesn't give us the chance to keep the error message in memory, Simply because the length of the output is not limited, we can't get it before the callback is called, and the callback doesn't even get it. So we must redirect it to an endless stream, and still can't display it on a UI. If we are using it in C++, it still sounds impossible to print to a std::string, despite it is "endless".
Third, the callback is called before iniparser_load returns NULL. So if we set a callback that prints to a file, we still can't log the following:

We got the following error from iniparser:
iniparser: syntax error in config.ini (2):
a b

I've created PR #78 which fixes all these problems. However, the ini parsing will now stop at the first error.

I've checked PR #77. It prevents this piece of code to be reached:

Thanks a lot for the catch, I've updated the PR :+1:

First, I don't exactly know how many C programmers know how to write a variadic function, but I bet not everyone.

I agree, this add some complexity. I see to solutions to lower this:

Add a snippet of code in iniparser_set_error_callback documentation showing a template of error callback implementation
Use sprintf beforehand to provide the error callback with a regular string. However this ask the question of the ownership of this string (should we return a malloced string that the callee is responsible to destroy ? or should we always use the same static buffer so the callee has to copy it if he wants to keep it ?)

Second, this doesn't give us the chance to keep the error message in memory, Simply because the length of the output is not limited, we can't get it before the callback is called, and the callback doesn't even get it. So we must redirect it to an endless stream, and still can't display it on a UI. If we are using it in C++, it still sounds impossible to print to a std::string, despite it is "endless".

I guess we can solve this by providing a INIPARSER_ERROR_MAXSIZE like in PR #78 value which would guarantee the max length of the passed data.

Third, the callback is called before iniparser_load returns NULL. So if we set a callback that prints to a file, we still can't log the following:

I'm not sure about this one: iniparser_set_error_callback can be called at any time (it just changes a static function pointer), so you should be able to call it first, then do your iniparser_load ?
@ndevilla Do you have time for this ? Changing the way errors are handled is not a light change so your point of view is mandatory.

solution 1: replace fprintf by a user-configured callback (which would be by default fprintf of course)
solution 2: provides an iniparser_getlasterror function to retrieve last error

My current concerns for solutions 2 is:

API breakage: solution 1 by default act just like before. For solution 2 we can decide by default to print on stderr in addition to provide the get_last_error (behavior which could be disabled by #define) but this doesn't seems really elegant to me
Memory eaten by the ERRORBUFFER which store the last error message. This can be costly on small systems (I you have more than 1Go of RAM, why bother doing C anyway :trollface: ), so we should think of the possibility to disable it. However this is more an interrogation than a strong concern for me so far.

Hi guys,
Sorry for chiming in late.
Rule #1: Do not break existing code. Adding stuff to the API is completely Ok, but modifying the default behaviour is not. Let us say this is as a courtesy to the many people who have been using the library for the past 20 years or so.
I completely agree that not everybody wants to have their errors tossed into stderr. Bit of context: when I first wrote this library I had to make the difficult choice of which error handling to provide. I quickly realized that no matter what I wrote, I could not satisfy everyone. Errors can be syslogged, dumped to a log file, printed on to stderr, returned in memory, qualified by an enum before returning, or just displayed on screen. FWIW, iniparser is used in many severely memory-restricted environments, but also in Windows games (Electronic Arts), Unix daemons (samba), interactive GUI-based or command-line programs, you name it. Since it is used in so many different contexts, no size can possibly fit all. I chose to provide the simplest possible error handling, hoping that people would adapt it to their own needs.  It has no API of any sort. You are expected to search and replace fprintf by your own code as you see fit. Of course that is not perfect either. Once you have started writing your own code into the library, you have to patch it back for further corrections, which is a royal pain.
The solutions you describe seem quite elegant and a better approach than I initially wrote. If I try to summarize, we would:
Switch from straight fprintf to a more generic ini_error() (variadic) function that could still default to printing to stderr. Previous users won't see any change.
Provide a new function that allows switching ini_error() to something user-provided. This way everyone should be able to plug-in their own error reporting without touching iniparser, as long as their error function replacement fulfils the same prototype. To be fair you do not even need a function for this, just make ini_error() assignable and assign your own function to it. Whatever.
We should avoid at all costs providing ourselves something that keeps errors in memory. Same thinking as above: no matter what we provide, we cannot cover all cases. Just focus on giving the opportunity for somebody to plug their own error system.
About returning as soon as you found one error: if you provide your own error function that is really your choice. But let me tell that: when I get a config file wrong, I like to know every place where I messed up in a single go. If you choke on the first encountered problem, you force your user to iterate for each blunder in the file. If your program takes 5 minutes to start up, iterations can become costly.  I guess this is a matter of personal preference, but again: users of this library are used to this behaviour, try not changing the default.
Hope that makes sense. Feedback welcome!
Nicolas

PR #76  and #77 has been merged to solve this


Google reportings indexing error on flowforge.com

Story
No response
Description
Google is reporting that it has failed to index our entire site correctly.  This is the report I received from Google Search Console. It seems we have a number of redirects that Google doesn't like.
https://search.google.com/search-console/index/drilldown?resource_id=sc-domain:flowforge.com&item_key=CAMYCyAC&utm_source=wnc_10031170&utm_medium=gamma&utm_campaign=wnc_10031170&utm_content=msg_100059089&hl=en

This report linked includes all non-indexed pages, if we just filter to indexed pages, we get:

We have just requested that our careers page does not get indexed too: https://github.com/flowforge/website/pull/395 which will mean the report is completely clean.

Ideally, we would have an indexed "Jobs" or "Careers" page, but this will require us utilising Greenhouse API and building our own Job Board.

I think what many site do is have a Careers page that then links to the Open Positions on Greenhouse.  The Careers page will talk about all the benefits and values of working at the company.

The Careers page will talk about all the benefits and values of working at the company.

yep, sensible, for us, this is all currently on http://flowforge.com/team

If we look at other OCV companies, they seem to be using the API:

https://fleet-device-management.breezy.hr/
https://koor.tech/career/
https://www.mermaidchart.com/a-place-in-the-ocean/
https://goauthentik.io/jobs/

Think this issue can now be closed as we have no redirects present on any of the indexed pages:


Bumped dev deps to latest

Affected Issues

Fixes #

Proposed Changes

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


feat: add support for reading ssm parameter store values

Add support for reading ssm parameter store values. I have updated the iam policy for reading the container secret as defined here https://aws.amazon.com/es/premiumsupport/knowledge-center/ecs-data-security-container-task/ . Basically the action ssm:GetParameters has been added to task_container_secrets policy.
This would allow reading plain and secure strings stored in SSM Parameter Store. This opens the possibility to read non-sensitive, plain text configuration values from SSM and secured values from Secrets Manager.
I have tested this and verified that the role was correctly created with the policy as well as that it is able to read SSM parameters along with Secrects Manager parameters defined in the task_container_secrecs input variable.

I see no furhter activity on this one, so I'm closing it. Feel free to reopen if it's still valid. Thanks! :-)


feat(esl-footnotes): add support of the anchor relationship between note and footnote for the print version

Closes: #1734

:tada: This PR is included in version 4.9.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


On close: Segmentation fault (core dumped)

Brief Description:
Operating System (OS and version): Ubuntu 14.04
OpenBazaar version: 0.1.0
Hardware: PC
Reproducible: Always
Steps to reproduce:

Install openbazaar_1.0.6_amd64.deb
Start application
Close application

Observed Behavior:
On close I get in terminal
Closing Application
Shutting down server daemon
Segmentation fault (core dumped)

and sometimes Ubuntu shows an alert that the app was closed unexpected and ask me: reopen, leave closed.
Expected Behavior:
Close without error
Additional info (links, images, etc go here):
Screencast https://vid.me/aknh

Also Segmentation fault with Linux Mint LMDE2 Kernel 4.4.1-040401-lowlatency

More details

I can confirm this segfault when close, using 1.1.0 x86-64 release on a fresh live Ubuntu 14.04.4-desktop iso in qemu (nothing else installed before installing OpenBazaar .deb via Ubuntu Software Center).  Attached is the apport crash file found in /var/crash:
openbazaar.999.crash.zip
The only final console output is: Closing Application
Shutting down server daemon
Segmentation fault (core dumped)

I ran gdb and attached to the two openbazaard process, one which received a SIGPIPE: https://gist.github.com/ericfont/74cb26a5d172e24738d17953371eeaae and another which just received a regular SIGTERM: https://gist.github.com/ericfont/9378ca4e6df7242308a30b61b701230e
I think these lines are telling us that the crash is due to SIGPIPE:Program received signal SIGPIPE, Broken pipe.
0x00007fa5840a788d in write () at ../sysdeps/unix/syscall-template.S:81
81	../sysdeps/unix/syscall-template.S: No such file or directory.
Wikipedia says "The SIGPIPE signal is sent to a process when it attempts to write to a pipe without a process connected to the other end."

I should note that those two gists above are from the daemon.  I should note that I saw two openbazzard processes, which is why I attached to both, but I'm wondering now if one of those daemons was from a prior execution.
Anyway, I did gdb again, this time on the pid of the lowest numbered openbazaar process that appeared (after I executed openbazaar in another terminal) and which is the process that gets the SIGSEGV (Segmentation Fault) upon exit: https://gist.github.com/ericfont/b8069ba92c3c958dd32caab51b94e578#file-gdb-attached-to-openbazar-L294-L295

Why close this issue?

Latest version should resolve this issue.


Problem with type columnrange

Hello :)
I'm trying to use a pattern as a columnrange to allow the bar chart to work.
The pattern shows up but doesn't use the predefined pattern.
Fiddle: https://jsfiddle.net/bormeth/doj56fbw/
Hope that someone can point me in the right direction?

Got it solved with some help from stackoverflow. :)


Fix Report Viewer version number

Change the version number to match the NuGet package.
https://www.nuget.org/packages/Microsoft.ReportingServices.ReportViewerControl.WebForms/150.900.148

@bdenhollander : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@RhysSchmidtke Could you please look at this PR and see if you approve? If so, we can merge in the change. Thank you @bdenhollander for the suggestion. @maggiesMSFT if you can verify the change, that would also work. I'm assigning you as well. #assign:maggiesMSFT.

maggiesMSFT. is not a valid GitHub ID, or is not a collaborator on this repo.

#assign:maggiesMSFT

Thanks, @bdenhollander !
#sign-off

@maggiesMSFT: I'm sorry - only the author of this article, @RhysSchmidtke, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


fix: Use formik state as opposed to child state to fix submission glitch

Summary | Résumé
closes #160
The problem stemmed from component refreshes when setting state. setSubmit was called in the onSubmit handler for the form element. This resulted in the component refreshing and the useEffect hook being executed. What this meant was when submitting a form after an initial submit was done with errors, the isValid prop was still false and when setSubmit(true) was executed, the component was refreshed and setFocusOnErrorMessage was called. This resulted in scrolling to the top of the page even when no errors were present.
The fix was simply to use the state provided by the HOC withFormik isSubmitting as opposed to any internal state for the lower component. This means that validation will be done before any refreshes happen and isValidate will be correctly set.
https://user-images.githubusercontent.com/26819992/155180202-61645776-329f-45e0-a16e-19a85b3d67ac.mov
Test instructions | Instructions pour tester la modification

Open any Form with validation
Submit such that there are errors
Fix the errors
Submit again and observe loading spinner being rendered

Unresolved questions / Out of scope | Questions non résolues ou hors sujet
N/A
Pull Request Checklist
Please complete the following items in the checklist before you request a review:

[x] Have you completely tested the functionality of change introduced in this PR? Is the PR solving the problem it's meant to solve within the scope of the related issue?
[x] The PR does not introduce any new issues such as failed tests, console warnings or new bugs.
[x] If this PR adds a package have you ensured its licensed correctly and does not add additional security issues?
[x] Is the code clean, readable and maintainable? Is it easy to understand and comprehend.
[x] Does your code have adequate comprehensible comments? Do new functions have docstrings?
[x] Have you modified the change log and updated any relevant documentation?
[x] Is there adequate test coverage? Both unit tests and end-to-end tests where applicable?
[x] If your PR is touching any UI is it accessible? Have you tested it with a screen reader? Have you tested it with automated testing tools such as axe?

I'm seeing a flash of the old state (form) after the loading component and before the transition to the confirmation page?


How to test the model on customized images

Hi,
First of all, thanks for the great work! I am wondering how to apply the trained models on any customized raster images. Any help would be greatly appreciated!

I have constructed an evaluator and somehow get the models work on customizes images. Yet I found that the "cubicasa" checkpoints could not work on customized images , only the "UOS" and the "UOS_aug" ones can be loaded. Any idea why?

Hi, Thank you for having an interest in my work.
About the question, you need to pre-process and vectorize your
custom images before feeding them into neural networks. So you need to do
as follows,

save your own image dataset in ./dataset/your_dataset_name/fps

run main code with giving arguments like $ python main --dataset
your_dataset_name --

Then dataset_module will automatically make your own dataset instance by
processing raster images, vectorizing, and making graphs.

With the dataset instance, you can train your own models or predict
labels of polygons with pre-trained models.

But the pre-trained models are highly dependent on the respective dataset,
so you would not get a good result from them if you want to apply the
pre-trained models to your own fp images.
If Cubicasa pre-trained model is not loaded, there must be some problem
with your directories. The code will load pre-trained models
from ./checkpoint/'dataset argument', so you need to train your own model
with your dataset or save your own images in ./dataset/cubicasa/fps if you
want to use models trained on cubicasa for your own images.
It would not take much time to train if you have labels.
There must be many problems with my codes, so if you have more to ask, feel
free to send me an email.
Thank you
2021년 2월 7일 (일) 오후 8:02, JanineCHEN<EMAIL_ADDRESS>작성:

I have constructed an evaluator and somehow get the models work on
customizes images. Yet I found that the "cubicasa" checkpoints could not
work on customized images , only the "UOS" and the "UOS_aug" ones can be
loaded. Any idea why?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/LymanSong/FP_GNN/issues/1#issuecomment-774654444, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AMUHSSWLLOPEOHMNWZX3JF3S5ZXMJANCNFSM4XHKEVLQ
.


Create GitHub Action to wrap tracepusher

Thanks to @bradmccoydev for the suggestion!
Ref: https://www.chainguard.dev/chainguard-images

@bradmccoydev closing as this is getting stale. Please re-open if still required. PR's welcome :)


Numbers truncated

Hello,
I'm just testing the program and like the functionality very much.
But there are always some "spikes" over the day in some data read.  So I stepped deeper into the code to find the reason
Best to reproduce is reading total energy generated which gave in my example interesting readings:
235, 235, 23, 235, 2, 23, 235 .....
Single stepping to "Response Remove Header" showed that that function is not fault tolerant enough in cases of receive problems.
A quick and dirty fix is to add a check if str.substring(0,1) matches commandConfig.response_start and ignore the line if not.
Perhaps you find a more sophisticated fix.
Thanks,
Daniel

Feel free to create a pull request. Currently im not doing much maintaining here im afraid since i cant test it currently.


Evolution doesn't run

A brief description

Evolution doesn't work.

Expected results

Evolution should start and run properly.

Actual results (with terminal output if applicable)

Evolution produces a dialogue box claiming "error sending credentials".

Your Windows build number

Anniversary edition

Steps / commands required to reproduce the error

sudo apt-get install evolution
evolution

Required packages and commands to install

Xming, as installed by 'choco install xming' if you have chocolatey (via powershell).
Ensure DISPLAY=:0.0 by adding the following to ~/.bashrc:
export DISPLAY=:0.0

Two things, have you set dbus to listen on TCP, and have you tried vcXsrv?

I think that at the present only XFCE runs fine (ignoring warnings).

With better support for AF_LOCAL socket, dbus seems to be happy and evolution also works. Fixes are moving fast to the release build. Keep an eye on the release notes.

Yeah the problem appears to be I'm not using dbus/tcp, just default settings.  I'm using xming, which is working for many things; however, if you forward X over ssh, you have to use an IP address DISPLAY value instead of :0.0.
Looking forward to this fix.  AF_LOCAL/AF_UNIX should provide a huge step up in general.

@bluefoxicy Don't forward X over ssh.  Launch the X applications directly from your bash console in Windows with DISPLAY=:0 (remote X). The dbus fix was necessary because GTK applications all require dbus connections (I'm not positive, but one of the reasons they do this is because they connect to the GTK resources through dbus and the settings daemon through dbus).
WSL does not have access to graphics hardware (yet, although maybe we can hope for some kind translation layer for DRM to WDDM), so you're still going to need to do both X over TCP and AIGLX/Software rendering, and since vcXsrv does not properly implement texture_from_pixmap, most GTK3 is going to actually fall back to software rendering, with the substantial performance hit that entails.
Eventually, once they document and add security features on the Windows-side of the COM interface (right now, accessing it from the Windows side requires Administrator elevation), it will be possible to attach a special kind of daemon with a socket on the Linux side (imagine something like a bridge between dbus and the LXSS bus) and an X server on the Windows side (vcXsrv would have to learn how to interface with dbus, probably) to the LXSS bus, which would finally mean you no longer had to set DISPLAY=:0 (see Alex Ionescu's lxss repo on github for a proof of concept).  However, the benefits of this would not be that huge in terms of performance by itself.
The team hasn't given any information about implementing a DRM layer for WSL, but maybe more information will emerge as the team begins to reach some of their internal milestones (since it looks like they are aiming to have a 1.0 release with Redstone 2 later this year, and therefore they are still really focusing hard on the non-graphical use case).

@sunilmut OK Sunil, please check also Socket Shutdown.

Just FYI that most or all of the AF_LOCAL fixes should be available starting build 14915. We would appreciate if you can try out the scenarios again without the dbus workaround and close out the issues. The only changes required to start the dbus daemon is in /etc/init.d/dbus, changing
from:
DAEMON=/usr/bin/dbus-daemon UUIDGEN=/usr/bin/dbus-uuidgen
to:
DAEMON=/bin/dbus-daemon UUIDGEN=/bin/dbus-uuidgen
then:
sudo /etc/init.d/dbus start should work.

@sunilmut There is still a problem with some of these things relating to dbus authentication, so it might be necessary to still edit the dbus file to use dbus cookies instead of "external" authentication.

@fpqc I wasn't aware of that issue with dbus, thanks for bringing it to my notice. Are these problems documented somewhere (or on some git hub post)? I would like to understand them better.

@sunilmut Check here
https://github.com/microsoft/bashonwindows/issues/637
https://github.com/Microsoft/BashOnWindows/issues/482
In the second thread, @therealkenc mentions exactly what the problem is.  It has to do with some kind of authentication used by dbus, and I'm not sure if it's a sockets problem or some kind of unimplemented syscall that does the authentication step.

@sunilmut this is #706. I mentioned d-bus here. That issue is also blocking other stuff, including some uses of GIO/GTK which I just discovered yesterday.

I should mention much of the point of the system bus is to talk to systemd on PID 1, which WSL doesn't have because of other missing surface (udev). So while you can connect to the system bus over AF_LOCAL with the steps you describe, the actual reason a program connects to it is not functional. Nice progress though.


opensnitch-ui doesn't install .desktop file at the right place and can't be found in the desktop environment menu

Describe the bug
opensnitch-ui program is not available from GNOME menu certainly because its .desktop is at the wrong place
Steps To Reproduce
Install opensnitch-ui and look into /nix/store, the file full path is available in /nix/store/p5hllrz4jr76vqx96cs6sy9a18bxscs3-opensnitch-ui-1.3.6/lib/python3.9/site-packages/usr/share/applications/opensnitch_ui.desktop
It seems the lib/python3.9/site-packages part shouldn't be there.
Expected behavior
Install opensnitch-ui and be able to find it in desktop environment menu
Notify maintainers
@raboof
Metadata
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.81, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.16`
 - channels(root): `"nixos-21.11.333840.6bfd8c700fe"`
 - channels(solene): `""`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

ping @onny in case 🤷♂

(I'm not planning to look into this as I don't use Gnome, so anyone feel free to pick this up!)

(I'm not planning to look into this as I don't use Gnome, so anyone feel free to pick this up!)

I didn't try on other DE but I suppose it doesn't work either on xfce/MATE/plasma because the menus should work the same.

I tested with XFCE and I confirm it doesn't appear either. I didn't want to meant it was GNOME specific at first but I only had tried on GNOME.
I changed the title to be more generic.

I confirm it's solved


Test the model with an image

Hello
I compressed Mask R-CNN and finished the training,  but the checkpoint (.pth) is different from the regular one, what can I do if I want to load the checkpoint to Mask R-CNN to test its speed with a new image? Thank you!

Hi,
You can use the references/detection/train.py to load a checkpoint and perform evaluation.
Here is the relevant code
https://github.com/pytorch/vision/blob/81d764877523e491af03d3e37f6b295f9d8a6cbb/references/detection/train.py#L112-L121
Let us know if you have further questions!


fixed opening script tag

Fixed a typo in an opening script tag

Thank you!

I'm glad to be able to help. It's my first time so it really means a lot to
me.
On Thu, Aug 27, 2020 at 12:13 PM Gergő D. Nagy<EMAIL_ADDRESS>wrote:

Thank you!
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/thepinecode/policy/pull/2#issuecomment-681910050, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AMSZDJ6CJTGTJVNOZ2HIRX3SCZEXDANCNFSM4QM4YKSA
.

--
Best regards.
Reuben Frimpong
Solutions Engineer | Fullstack Web Developer
musicmarketgh.com
+233 246748016


Update openstack-ansible name references.

This change is to account for the name change happening upstream. All
references in trtee to os-ansible-deployment are changed to
openstack-ansible, and OSAD is changed to OA, mostly for variable
names.
Addresses: #381
(cherry picked from commit 8e0b097035ac3c37f37d2813a5b7774e65a08b2c)
Conflicts:
openstack-ansible

+1

Closing this PR as it's superseded by #397, which fixes the Travis CI failures.


[NG] access the minimum width only on the first drag attempt

Signed-off-by: Shijir Tsogoo<EMAIL_ADDRESS>

@Shijir: We should try to mention what issue your PR is trying to fix and provide more details on that in the PR description. Also, what testing was done to make sure that the issue is fixed.

@adityarb88 Sorry, my bad... you are absolutely right. I will update the PR and provide more contextual information as I get back.

No worries :-) Thanks!


Timeseries unittest

I added the unit tests that @ezwelty created for the timeseries_cleaning module into the CI -- but they're under the test driectory, while the unit tests written by @rousik are under src/pudl -- we should come to a consensus on where these should live.
I also switched to using tox -e unit in the pre-commit instead of pipenv run pytest src/pudl both to ensure that any changes made to what constitutes "unit" tests in tox are reflected in the pre-commit settings, and also to avoid needing to add pipenv to the overall environment specification (it failed when I tried to run it because it wasn't part of my environment)

In my opinion, it is easiest to do what pytest expects: place tests under a tests directory and name each test module test_*.py or *_test.py. See https://docs.pytest.org/en/stable/goodpractices.html

src/pudl

__init__.py
...

tests

__init__.py
test_stuff.py
more

__init__.py
test_more_stuff.py

My code contributions have also included doctests (examples in docstrings that can be run as tests). So to run all tests, run this command from the repository root:
pytest --doctest-modules src/pudl tests

In my opinion, it is easiest to do what pytest expects: place tests under a tests directory and name each test module test_*.py or *_test.py. See https://docs.pytest.org/en/stable/goodpractices.html

src/pudl

__init__.py
...

tests

__init__.py
test_stuff.py
more

__init__.py
test_more_stuff.py

My code contributions have also included doctests (examples in docstrings that can be run as tests). So to run all tests, run this command from the repository root:
pytest --doctest-modules src/pudl tests

I tend to agree with @ezwelty about having all of the tests under the test directory for organizational purposes, especially since we don't have any intention of distributing the tests with the package. Are there norms about how to organize unit vs. integration tests?  The way it's organized right now you can't really tell it to run all of the tests without some modifiers, since they include a lot of integration tests and take a very long time to run if they all get run, as well as downloading gigabytes of data.
There's already a test/validate directory for data validations. I guess we could have test/unit and test/integration directories as well.

I tend to agree with @ezwelty about having all of the tests under the test directory for organizational purposes, especially since we don't have any intention of distributing the tests with the package. Are there norms about how to organize unit vs. integration tests?  The way it's organized right now you can't really tell it to run all of the tests without some modifiers, since they include a lot of integration tests and take a very long time to run if they all get run, as well as downloading gigabytes of data.
There's already a test/validate directory for data validations. I guess we could have test/unit and test/integration directories as well.


JIT Compilation support

This PR adds JIT compilation support and simple API to JIT compile file and get access to functions and data of JITed module.

I have question there: what we should do with main return value? Should we pass it to std::process::exit? Currently this value just ignored:
            let args = std::env::args();
            let argc = args.len() as i32;
            let vec_args = args
                .into_iter()
                .map(|string| std::ffi::CString::new(string).unwrap().as_ptr() as *const u8)
                .collect::<Vec<*const u8>>();
            let pointer = vec_args.as_ptr() as *const *const u8;
            let main: unsafe extern "C" fn(i32, *const *const u8) -> i32 =
                unsafe { std::mem::transmute(main_function) };
            let _ = unsafe { main(argc, pointer) };

Please add some tests as well - you can put them in a new directory tests/runner-tests/jit. I'll probably need to add a new mode to tests/runner.rs as well, I'll see if I have time on Friday.

Codecov Report

Merging #270 into master will decrease coverage by 0.64%.
The diff coverage is 42.02%.

@@            Coverage Diff             @@
##           master     #270      +/-   ##
==========================================
- Coverage   78.65%   78.01%   -0.65%
==========================================
  Files          26       26
  Lines        6312     6360      +48
==========================================
- Hits         4965     4962       -3
- Misses       1347     1398      +51

Impacted Files
Coverage Δ

src/ir/stmt.rs
86.38% <ø> (-1.41%)
:arrow_down:

src/ir/expr.rs
78.75% <ø> (-1.04%)
:arrow_down:

src/ir/static_init.rs
64.08% <ø> (-0.41%)
:arrow_down:

src/bin/rcc.rs
18.18% <0%> (ø)

src/ir/mod.rs
80.79% <100%> (-1.46%)
:arrow_down:

tests/utils/mod.rs
85.29% <100%> (+0.21%)
:arrow_up:

src/lib.rs
57.53% <39.28%> (-13.26%)
:arrow_down:

src/intern.rs
66.66% <0%> (-5.56%)
:arrow_down:

... and 7 more

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 ff8eec6...7f95c3d. Read the comment docs.

Closing in favor of #322


Replace HexBits with strprintf

Will not autotest. Needs manual testing.

Seeing problems with RPC errors with this patch. Re-checking to try isolating cause.


Documentation for uploader fixed

What this PR does / why we need it
There are some copy & paste issues addressed.

Do you wanna do this in this PR?

nope - because, then I believe we should rename almost everything.
available downloader names are currently:

ocm/dirtree
oci/artifact --> will be renamed with this PR to: ocm/ociArtifacts
plugin
landscaper/blueprint

available uploader names are:

ocm/npmPackage
ocm/mavenPackage
plugin
ocm/ociArtifacts


simplefs MOTW

copied from chat. Tested on Windows; mac is likely ok too

@songgao I copied the mac file straight over from client but it doesn't build, do you have any ideas?
+ go build --tags=production ./...

# github.com/keybase/kbfs/simplefs

Undefined symbols for architecture x86_64:

  "_NSURLQuarantinePropertiesKey", referenced from:

      _quarantineFile in _x002.o

  "_OBJC_CLASS_$_NSDictionary", referenced from:

      objc-class-ref in _x002.o

  "_OBJC_CLASS_$_NSString", referenced from:

      objc-class-ref in _x002.o

  "_OBJC_CLASS_$_NSURL", referenced from:

      objc-class-ref in _x002.o

etc.


Postal ISSUE with HTML body messages

Since we have successfully install and use Postal, we cannot find the way of sending right HTML messages. We tried with the specific parameter html_body you define on API but the result was a disaster, HTML didn’t work. Could you please send me an example anybody of sending an HTML message?

Can you confirm which coding language or client library you are using?

We make the implementation using Curl and Postman.

Here it is working in Postman.

When you say it was a disaster, do you mean the email looked wrong or the response from Postal was not success?

I meant the email looked wrong! I will check again the html code performing some tests and I'll come back if the issue insist, thanks.

Try using the W3C validator on the HTML to highlight any coding issues http://validator.w3.org/#validate_by_input
If you are having issues with CSS, have a look at https://www.campaignmonitor.com/css/ for quirks with styling.

Thank you very much for your guidance and your time. Issue has solved, some styling HTML code with CSS cracked the JSON.


Ensure unique custom header keys

Swagger supports multiple headers but requires that each one uses a unique name. The existing approach overwrote the previous header definition. This also caused issues when changing the value of #input_apiKey as it stores the api key with the same name as all defined headers, leading to complete header loss on api key addition. This fix ensures each header is given a unique name.
For more information see: https://github.com/swagger-api/swagger-ui#header-parameters

Closing ticket as this project is outdated.
New ticket at: https://github.com/TinkerDev/grape-swagger-rails/pull/6


Fixes to testing guide (for Windows only)

Motivation
I wanted to get it working locally and ran into a couple of difficulties
Test Plan
Ensure the new package.json file works on Mac, Windows and Linux
Related PRs
(If this PR adds or changes functionality, please take some time to update the docs at https://github.com/facebook/docusaurus, and link to your PR here.)

I'm not sure my testing advice is right. It seems like the metadata.js file isn't getting updated when I run it locally. Investigating.
Also English is the default language. There is the following snippet, but the file does not seem to do what I expect.
const ENABLE_TRANSLATION = fs.existsSync(CWD + '/languages.js');
I would presume that not having a language file would mean that there is no language prefix, but it seems that it is mandated in quite a few places, and is defaulted to English.

Fixed! :D

@neilsutcliffe Thanks for the PR! Let me do a quick review here.


feat(metrics): add conversion webhook metrics

Description:
This change adds the osm_conversion_webhook_resource_total metric to
count custom resource conversions between API versions.
Part of #4568
Example:
osm_conversion_webhook_resource_total{from_version="config.openservicemesh.io/v1alpha1",kind="MeshConfig",success="true",to_version="config.openservicemesh.io/v1alpha2"} 1

Testing done:

Updated unit tests
Did some manual smoke testing with the whole control plane running and creating/updating/deleting a v1alpha1 MeshConfig

Affected area:

Functional Area

New Functionality
[X]

CI System
[ ]

CLI Tool
[ ]

Certificate Management
[ ]

Control Plane
[ ]

Demo
[ ]

Documentation
[ ]

Egress
[ ]

Ingress
[ ]

Install
[ ]

Networking
[ ]

Observability
[X]

Performance
[ ]

SMI Policy
[ ]

Security
[ ]

Sidecar Injection
[ ]

Tests
[ ]

Upgrade
[ ]

Other
[ ]

Please answer the following questions with yes/no.

Does this change contain code from or inspired by another project? No

Did you notify the maintainers and provide attribution?

Is this a breaking change? No

Has documentation corresponding to this change been updated in the osm-docs repo (if applicable)? Yes, https://github.com/openservicemesh/osm-docs/pull/344

Codecov Report

Merging #4606 (0311eda) into main (aaa7f30) will increase coverage by 0.05%.
The diff coverage is 92.50%.

@@            Coverage Diff             @@
##             main    #4606      +/-   ##
==========================================
+ Coverage   69.14%   69.20%   +0.05%
==========================================
  Files         216      216
  Lines       15000    15028      +28
==========================================
+ Hits        10372    10400      +28
  Misses       4576     4576
  Partials       52       52

Flag
Coverage Δ

unittests
69.20% <92.50%> (+0.05%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

cmd/osm-bootstrap/osm-bootstrap.go
45.59% <0.00%> (-0.72%)
:arrow_down:

pkg/crdconversion/crdconversion.go
75.53% <100.00%> (+0.72%)
:arrow_up:

pkg/crdconversion/framework.go
74.56% <100.00%> (+6.88%)
:arrow_up:

pkg/metricsstore/metricsstore.go
92.17% <100.00%> (+0.27%)
: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 aaa7f30...0311eda. Read the comment docs.


how to fetch the has many relationship in ember-cli-mirage?

so i have created a jsonapi payload in my mirage/config, i am able to get the author data, but i m unable t get the books data, wat settings do i need to do to get the included part?
data:{
attributes:{name: "joseph"}
type:"Author"
id:"1"
relationships: {books: {data: [{id: "1", type: "books"}, {id: "2", type: "books"}]}}
}
included:
[
{id: "1", type: "books", attributes: {title: "catch22"}},
{id: "2", type: "books", attributes: {title: "catch23"}}
]

i am unable to fetch the included part
when i do this.get('author.books').mapBy('id'), i get an empty array[]
NOTE: THAT is the actual response from my local server, ii works fine there, but only in testing it dosent work

Check out the alwaysIncludeLinkageData option on the serializer: https://www.ember-cli-mirage.com/docs/api/modules/ember-cli-mirage/serializers/json-api-serializer~JSONAPISerializer#alwaysIncludeLinkageData
If you do something like this
// mirage/serializers/application.js
import { JSONAPISerializer } from 'ember-cli-mirage';

export default JSONAPISerializer.extend({
  alwaysIncludeLinkageData: true
});

you should get the IDs in the payload.

thanks for the reply, actually i tried the above thing,
so this is what i am trying to achive
`
this.get('/authors', () => {
*** some logic i need to implement here **

var author = server.db.authors.find(1)
// debugger
var included = []
var book_array = []
var included_array = []
if(author.bookIds != null){
  author.bookIds.forEach((book) => {
    var book = server.db.books.find(book)
    book_array.push({id: book.id, type: "books"})
    included_array.push({id: book.id, type: "books", attributes: book})

  })
  included =  included_array
}

return {data: {type: 'authors', id: author.id, attributes: author, relationships: {books:book}}, included:  included_array };

});
so here i have created a payload so that i get a suitable response, i did it this way beacuse i need to implement some logic here, normally i would have just done: this.get('/authors');and yes i have also includedalwaysIncludeLinkageData: true` in my serializer
so the above query gives me the author data, but fails to give the books data

an ya i m using queryRecord to fetch the autor and books info

sorry there was a small issue in my payload, it works fine now


Introduce cname argument to initSdk call

Introduce cname initSdk method argument
Pass cname parameter to respective android and ios sdks

hello! just checking if this will be merged soon. me and my team has been waiting for this feature and hope it will be released soon!

hello! just checking if this will be merged soon. me and my team have been waiting for this feature and hope it will be released soon!

Hello! Well I guess it depends on the owners of this repo who have write access 😄


docs: Added Multi-Page App example using 'root'

Description
Documentation change in the 'Building For Production' page, 'Multi-Page App' section:
When using the root option, it may not be clear to beginners that the root directory needs to be included within the resolve() function. Otherwise, running the build process will error out due to the HTML files not being found.
What is the purpose of this pull request?

[ ] Bug fix
[ ] New Feature
[x] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[x] Ideally, include relevant tests that fail without this PR but pass with it.

@patak-js Thanks. I agree, we can remove the extra example. I have made that change, but added an extra sentence that gives a hint as to what a developer needs to change.


Email Updates on Engagement Publish (Subscribed)

As a Citizen, I want to be notified when an engagement is published in MET so that I receive updates about the projects I subscribed to.
*Back-end task
Acceptance Criteria:
When publishing an engagement, send an email to all users that subscribed to MET (Email template to be provided)
**Because there is some disagreement on how Subscribe widget should function, dev team is going to trial two options. This is the first, where a public user can subscribe for updates from an entire instance of MET eg. EAO, get email notification on ANY new engagement.
***We'll slowly trial and add in new rules. Examples of rules that may come in future

If there are multiple updates on an Engagement Page within (3) consecutive days, only one update email should be sent
Public user ONLY wants to receive updates on a specific Project (so this would include new engagement pages on different works, like amendments)

Hey team! Please add your planning poker estimate with Zenhub @saravanpa-aot @VineetBala-AOT @djnunez-aot @tiagograf-AOT


Rec is not maintained properly in Factboxes starting in BC 17

Describe the bug
We have a complex page that has actions on the main page, multiple subpages, and factboxes on the main page that are linked to subpages. The main page uses functions on the factboxes to query which record is selected on the linked subpage, as the provider of the factbox should supply this data. This has worked from NAV 2009 through BC 16. It stopped working in BC 17.
To Reproduce
Install our ChargeLogic Shipping app. The Shipping Station Interface is not able to track which record is selected as you go through the process of shipping an order.
AL Code to reproduce the issue
Expected behavior
Rec in the factbox should match the selected record from its provider. It seems to be empty.
Screenshots
5. Versions:

AL Language: 6.1.362735

Business Central: 17.x

Hi Jonathan! As this repository is only for issues related to the AL compiler in latest developer preview environment for Dynamics 365 Business Central. We suggest that you open a support case or file a bug in Collaborate, to ensure that all Business Central users benefit from your catch as soon as possible.
To open a support case, you can:

Open a support request to CSS through the PartnerSource portal
Contact your Service Account Manager (SAM) in your local subsidiary to understand what is included in your contract as of support incident and PAH (Partner Advisory Hours). Your SAM might also direct you "step by step" how to open a support request or how to get credentials, if this is the first time for you or your company

Support should be able to help create a repro for the teams owning those components.


Support for ceiling light type

Thanks!

https://github.com/AlexxIT/YandexStation/releases/tag/v3.16.0


Adding abstract overrides in RuleFilter

Description
This change is to isolate changes to the abstract RuleFilter class.
Formalize implementation of euqals and hashcode methods by all RuleFilter implementations
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check for com.azure:azure-messaging-servicebus
API changes have been detected in com.azure:azure-messaging-servicebus. You can review API changes here
API changes
+         @Override public abstract boolean equals(Object obj)
+         @Override public abstract int hashCode()

I'm not inclined to support this, just because it is a breaking change for negligible gain. I would prefer if we could document this as being a requirement, which seems reasonable to me as it is something developers should be expected to provide anyway, and documentation is often how this is enforced in my experience.

Closing this out - this is something to be added when there is a major version bump


[Question] How to use API for context evaluation

Hello team,
I'm trying out the cloud version of gorules and I am having issues trying to use the evaluate decision API endpoint. I followed the instructions in https://gorules.io/docs/brms/evaluate-decision, and the endpoint I have is
https://jcolella.gorules.io/api/projects/b1d7297e-61e5-498d-9d2a-d5d1f7215773/evaluate/test.json
but it returns a 404
{
"message": "Route GET:/api/projects/b1d7297e-61e5-498d-9d2a-d5d1f7215773/evaluate/test.json not found",
"error": "Not Found",
"statusCode": 404
}

Is there anything I am missing?

Hi @josecolella did you publish your decision model?
Also, API should be @POST and there should be a body with a field context

Hi @josecolella, closing. Let us know if the issue is still present.


Envoy returns 403 for failed gRPC ext_authz requests

Title: Envoy returns 403 for failed gRPC ext_authz requests
Description:
The gRPC implementation for ext_authz returns 403(forbidden), when the request to the gRPC server is failed on connection error. It can be an temporary error. However, 403 doesn't recommend an automatic retry.
In order to have client retry, can we change it to 503?
https://httpstatuses.com/403
Config:
          http_filters:
          - name: envoy.ext_authz
            config:
              failure_mode_allow: false
              grpc_service:
                envoy_grpc:
                  cluster_name: token-grpc
                timeout: 10.0s

Call Stack:
The FORBIDDEN is hard coded at: https://github.com/envoyproxy/envoy/blob/master/source/extensions/filters/common/ext_authz/ext_authz_grpc_impl.cc#L77

Could you add a bit of clarification why you want to retry authz failure?  I'm unsure of your use case but most authz failures I've seen have been pretty deterministic, such that retries are going to result in another failure.

Sure.
When an existing gRPC service is un-deployed, Envoy may run into a race condition with connection closure - the tcp package is out before FIN is received by Envoy. As such, the request is failed due to network issue.
I'm referring to the failures due to network issue, rather than explicit failed authorization. As network is not always available anyway, I suppose it not a 4xx, since it's more on the server side.
Please feel free to let me know if anything is unclear to you.

Ah, I think I've got you. Seems reasonable to me but I think @gsagula is likely to have a more informed opinion.  Gabriel, any thoughts?

@hanyu-liu I see your point. The hard code a 403 may seem a bit opinionated, but you really want to give away what's going on with the authorization system. It's not uncommon for authorization servers to always return unauthorized or forbidden and treat underlying issues internally. However, I think we could enhance the filter by making it configurable. Please, let me know what you think. Thanks!

I feel that clients may get confused by the 403 for an invalid authorization. I am okay with a hard coded 503 returned to client. I can probably make the PR myself, if it sounds good to you.
It also sounds good to me to have a configurable response code for the purpose of backward compatibility. @alyssawilk @gsagula

Thanks! It sounds good to me.

Can I ask for a write permission to the repo? @gsagula @alyssawilk
hliu:envoy hliu$ git push --set-upstream origin 503_on_ext_authz_network_issue
remote: Permission to envoyproxy/envoy.git denied to hanyu-liu.
fatal: unable to access 'https://github.com/envoyproxy/envoy/': The requested URL returned error: 403

nvm

Can I ask for a write permission to the repo? @gsagula @alyssawilk
hliu:envoy hliu$ git push --set-upstream origin 503_on_ext_authz_network_issue
remote: Permission to envoyproxy/envoy.git denied to hanyu-liu.
fatal: unable to access 'https://github.com/envoyproxy/envoy/': The requested URL returned error: 403

Continuing the talk from https://github.com/envoyproxy/envoy/pull/6148.
Do you actually think an enum can work well for status_code_on_error? Don't want users to abuse the system by returning like 200, when the ext_authz is down.
Furthermore, can we fix it by introducing a hard-coded error code as a breaking change in the next major release?

Link to https://github.com/envoyproxy/envoy/issues/5974, who suffers from similar symptoms on http ext_authz

I have the same issue with ext_authz. When I remove or update the ext_authz service. (I run 2 instances in a cluster), the client may have to do multiple retries before the removed service endpoint is properly removed from load balancing. Can the filter be configured to do retries much as a route would. I don't believe the status code received by the downstream would need to be changed in this case. I like to know that the failure (4xx) is from the ext_authz service and not the target upstream.
Link to #5974, who suffers from similar symptoms on http ext_authz

I have this done, just need to write a test to it.

@gsagula any change in status?

@gdheller42 @hanyu-liu ^^

Looks like it will not work for gRPC? @gsagula

@gdheller42 @hanyu-liu ^^

@hanyu-liu Why not?

Looks like the status code has been set on gRPC failures @gsagula. Did I miss anything?
https://github.com/envoyproxy/envoy/blob/master/source/extensions/filters/common/ext_authz/ext_authz_grpc_impl.cc#L75

This is the default response code and it will get returned to the client unless the different code is configured on the filter level.

@gsagula Has this been merged into master yet? Thanks.

Not yet, I'm addressing the last comment. It should get merged soon though.

@gsagula Thanks for the update..

@gsagula pulled a docker image of the update. still need to grab v2 api and update my auth code. Will test next week. Thanks Have a good weekend.


Fix ./gradlew spotlessApply fail groovy check

Tested by run ./gradlew spotlessApply
The issue is similar to https://github.com/diffplug/spotless/issues/1572 but as https://github.com/apache/kafka/pull/13205 noted, new version of spotless plugin dropped support of java8. The workaround  is needed for current spotless plugin run in gradle 8
Please add a meaningful description for your change here

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI or the workflows README to see a list of phrases to trigger workflows.

Thanks Yi!


CNAME NOT WORK

In the request www.host.domain the server searches for record type A instead of CNAME
Ex.
info: Answer: www.googleapis.com. A IN <IP_ADDRESS>

will look into this, and see if it can be patched for the next release

Hi @samukca
Thanks for the issue. Can you please detail configuration and zones that you used that produced the error, this will help with identifying the issue.
Thanks!


Utilize the new Cargo Sparse protocol

Current default behaviour in rust is to clone the index git repo of all packages ever published. This is extremely inefficieant and can be drastically sped up by using the new stable feature in Rust 1.68.0 called sparse protocol, linked some source with more info :)
https://doc.rust-lang.org/cargo/reference/config.html#registriescrates-ioprotocol
https://doc.rust-lang.org/cargo/reference/registries.html?highlight=sparse#registry-protocols

I agree, but still a good thing to have as a reference


Private properties are displayed even when they aren't available for use

Thanks for working on Rust support in Atom! :smile:

The top two properties displayed are private to the structure I'm using. If I (or an unsuspecting user of my library) were to try to use those, it would result in a compilation error. It would be great if ide-rust could filter to only what's available in the current scope. (maybe using RLS or something)

I don't think this is possible from ide-rust. We're just showing what RLS is returning here. This sort of contextual filtering would need to be implemented over in RLS.

Yup. I checked in vscode and it's the same behaviour. I'll file an issue in rls. Thanks! :smile:


Switch timestamp to timestamptz

I'd want to look into how SQLite handles these also. But I'm thinking I should change to this for all timestamps:
timestamp with time zone

references

The SQL standard requires that writing just timestamp be equivalent to timestamp without time zone, and PostgreSQL honors that behavior. timestamptz is accepted as an abbreviation for timestamp with time zone; this is a PostgreSQL extension.

Difference between timestamps with/without time zone in PostgreSQL
Postgres datetime
search: postgres timestamptz over timestamp

This was done at some point in the last few weeks


Ability to change password from user settings

Currently it's only possible to change username and email, not password, from "My Settings".

I was tempted to set this to v1.1, but i think it is security critical..so i added it. Unfortunately it means we need an extra translation now for menu.change_password

Added menu.change_password Spanish translation to #89


Fix Python 3 errors

Signing data should be byte strings
Don't log exception outside handler (#300)

Thanks for the pull request!
This pull request is ready to be merged once the test cases indicated in the in-line comments are updated.

OK I made those changes.
Regarding the logger.exception issue, you get it on Python 3 if you enable console messages, i.e.:
diff --git a/tests/test_updater.py b/tests/test_updater.py
index 40b005b..25e3198 100755
--- a/tests/test_updater.py
+++ b/tests/test_updater.py
@@ -76,7 +76,7 @@ import tuf.client.updater as updater
 import six

 logger = logging.getLogger('tuf.test_updater')
-repo_tool.disable_console_log_messages()
+#repo_tool.disable_console_log_messages()

Thanks for helping me reproduce the error.  I've now verified that line 1229 of updater.py does indeed raise an error if console logging is enabled.
I searched for all other instance of logger.exception, and line 1229 is the only place where it's not called from an exception handler.
All the unit tests are passing now (apart of an unrelated test case failure) so I'll go ahead and merge.

@davedoesdev We might need to fix a few other similar Python 3 issues with the PyCA Cryptography module (or it might be because I upgraded my local version)

Yes, this is what I get:
======================================================================
ERROR: test_generate_and_write_ed25519_keypair (test_repository_lib.TestRepositoryToolFunctions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/david/tuf/tests/test_repository_lib.py", line 214, in test_generate_and_write_ed25519_keypair
    repo_lib.generate_and_write_ed25519_keypair(test_keypath, password='pw')
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/repository_lib.py", line 988, in generate_and_write_ed25519_keypair
    encrypted_key = tuf.keys.encrypt_key(ed25519_key, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/keys.py", line 1231, in encrypt_key
    tuf.pyca_crypto_keys.encrypt_key(key_object, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 750, in encrypt_key
    encrypted_key = _encrypt(json.dumps(key_object), derived_key_information)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 920, in _encrypt
    ciphertext = encryptor.update(key_data) + encryptor.finalize()
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 137, in update
    return self._ctx.update(data)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 117, in update
    len(data))
TypeError: initializer for ctype 'unsigned char *' must be a bytes or list or tuple, not str

======================================================================
ERROR: test_import_ed25519_privatekey_from_file (test_repository_lib.TestRepositoryToolFunctions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/david/tuf/tests/test_repository_lib.py", line 290, in test_import_ed25519_privatekey_from_file
    repo_lib.generate_and_write_ed25519_keypair(ed25519_keypath, password='pw')
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/repository_lib.py", line 988, in generate_and_write_ed25519_keypair
    encrypted_key = tuf.keys.encrypt_key(ed25519_key, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/keys.py", line 1231, in encrypt_key
    tuf.pyca_crypto_keys.encrypt_key(key_object, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 750, in encrypt_key
    encrypted_key = _encrypt(json.dumps(key_object), derived_key_information)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 920, in _encrypt
    ciphertext = encryptor.update(key_data) + encryptor.finalize()
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 137, in update
    return self._ctx.update(data)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 117, in update
    len(data))
TypeError: initializer for ctype 'unsigned char *' must be a bytes or list or tuple, not str

======================================================================
ERROR: test_import_ed25519_publickey_from_file (test_repository_lib.TestRepositoryToolFunctions)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/david/tuf/tests/test_repository_lib.py", line 242, in test_import_ed25519_publickey_from_file
    repo_lib.generate_and_write_ed25519_keypair(ed25519_keypath, password='pw')
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/repository_lib.py", line 988, in generate_and_write_ed25519_keypair
    encrypted_key = tuf.keys.encrypt_key(ed25519_key, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/keys.py", line 1231, in encrypt_key
    tuf.pyca_crypto_keys.encrypt_key(key_object, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 750, in encrypt_key
    encrypted_key = _encrypt(json.dumps(key_object), derived_key_information)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 920, in _encrypt
    ciphertext = encryptor.update(key_data) + encryptor.finalize()
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 137, in update
    return self._ctx.update(data)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 117, in update
    len(data))
TypeError: initializer for ctype 'unsigned char *' must be a bytes or list or tuple, not str

======================================================================
ERROR: test_decrypt_key (test_keys.TestKeys)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/david/tuf/tests/test_keys.py", line 277, in test_decrypt_key
    encrypted_key = KEYS.encrypt_key(self.rsakey_dict, passphrase).encode('utf-8')
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/keys.py", line 1231, in encrypt_key
    tuf.pyca_crypto_keys.encrypt_key(key_object, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 750, in encrypt_key
    encrypted_key = _encrypt(json.dumps(key_object), derived_key_information)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/pyca_crypto_keys.py", line 920, in _encrypt
    ciphertext = encryptor.update(key_data) + encryptor.finalize()
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/primitives/ciphers/base.py", line 137, in update
    return self._ctx.update(data)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/cryptography/hazmat/backends/openssl/ciphers.py", line 117, in update
    len(data))
TypeError: initializer for ctype 'unsigned char *' must be a bytes or list or tuple, not str

======================================================================
ERROR: test_https_connection (test_download.TestDownload)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.4/urllib/request.py", line 1183, in do_open
    h.request(req.get_method(), req.selector, req.data, headers)
  File "/usr/lib/python3.4/http/client.py", line 1137, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.4/http/client.py", line 1182, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.4/http/client.py", line 1133, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.4/http/client.py", line 963, in _send_output
    self.send(msg)
  File "/usr/lib/python3.4/http/client.py", line 898, in send
    self.connect()
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/download.py", line 674, in connect
    ca_certs=cert_path)
  File "/usr/lib/python3.4/ssl.py", line 890, in wrap_socket
    ciphers=ciphers)
  File "/usr/lib/python3.4/ssl.py", line 580, in __init__
    self.do_handshake()
  File "/usr/lib/python3.4/ssl.py", line 807, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/david/tuf/tests/test_download.py", line 236, in test_https_connection
    download.safe_download(https_url, target_data_length)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/download.py", line 115, in safe_download
    return _download_file(url, required_length, STRICT_REQUIRED_LENGTH=True)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/download.py", line 241, in _download_file
    connection = _open_connection(url)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/download.py", line 468, in _open_connection
    return opener.open(request, timeout = tuf.conf.SOCKET_TIMEOUT)
  File "/usr/lib/python3.4/urllib/request.py", line 464, in open
    response = self._open(req, data)
  File "/usr/lib/python3.4/urllib/request.py", line 482, in _open
    '_open', req)
  File "/usr/lib/python3.4/urllib/request.py", line 442, in _call_chain
    result = func(*args)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/download.py", line 694, in https_open
    return self.do_open(self.specialized_conn_class, req)
  File "/usr/lib/python3.4/urllib/request.py", line 1185, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:600)>

======================================================================
ERROR: test_with_tuf (test_indefinite_freeze_attack.TestIndefiniteFreezeAttack)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/david/tuf/tests/test_indefinite_freeze_attack.py", line 236, in test_with_tuf
    'password')
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/repository_lib.py", line 870, in import_rsa_privatekey_from_file
    rsa_key = tuf.keys.import_rsakey_from_encrypted_pem(encrypted_pem, password)
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/keys.py", line 958, in import_rsakey_from_encrypted_pem
    check_crypto_libraries(['rsa', 'general'])
  File "/home/david/tuf/.tox/py34/lib/python3.4/site-packages/tuf/keys.py", line 602, in check_crypto_libraries
    raise tuf.UnsupportedLibraryError(message)
tuf.UnsupportedLibraryError: The 'pyca-cryptography' crypto library specified in "tuf.conf.GENERAL_CRYPTO_LIBRARY" could not be imported.

----------------------------------------------------------------------
Ran 242 tests in 174.946s

FAILED (errors=6)

The certificate verification happens on 2.7 as well but the other ones need fixing on 3.4

https://github.com/theupdateframework/tuf/pull/305


Propagate errors in callbacks

Instead of panicking if an operation in a callback fails, convert the Rust enum to an error code and return it to littlefs2.
Upstream: https://github.com/nickray/littlefs2/pull/22

This makes me realize that this is unsound on platforms with unwinding. Since the the Storage is a user-provided trait it can panic and unwind, which means that it will go through the FFI boundary and cause UB.
In our case it can only affect our tests. I don't know if there is any #[cfg] that would allow us to conditionally use CatchUnwind when std is available, so I don't know how to fix it.