Refactor some components / screens to use useOnyx

Details
This PR refactors some components / screens in E/App to use useOnyx hook and assert it's behaving correctly.
Components / screens refactored:

src/pages/NewChatPage.tsx - example with initWithStoredValues
src/pages/ProfilePage.tsx - example with selector, dynamic key
src/pages/settings/Preferences/PreferencesPage.tsx
src/pages/settings/Profile/Contacts/ContactMethodDetailsPage.tsx - example with selector, initialValue, isLoadingOnyxValue function usage

Fixed Issues
$ https://github.com/Expensify/App/issues/34339
PROPOSAL:
Tests
NewChatPage

Open "Start chat" page.
Refresh the page and ensure transitions and loading are working as expected (web / mobile web).
Select a contact to start a chat.
Open "Start chat" page again.
Type something in the search and wait for the loading to finish.
Type something again and refresh the page while the loading is ongoing, ensure the loading disappears after the refresh (web / mobile web).

ProfilePage

Click on someone's avatar to open the Profile page.
Refresh the page and ensure transitions and loading are working as expected (web / mobile web).
Change notification option, open "Private notes" page, click "Message..." button, ensure the UI is updated and everything is working as expected.

PreferencesPage

Navigate to Preferences page.
Toggle first Notifications option, refresh the page and ensure transitions and loading are working as expected (web / mobile web).
Toggle the other options, change all settings in the page, ensure the UI is updated and everything is working as expected.

ContactMethodDetailsPage

Navigate to "Contact methods" page.
Ensure you have at least 2 contact methods set up.
Click the non-default contact method to open the details page.
Refresh the page and ensure transitions and loading are working as expected (web / mobile web).
Set the contact method as default, ensure the process makes any effect (even if it fails).
Ensure the "Contact methods" page's UI is updated.

[x] Verify that no errors appear in the JS console

Offline tests
N/A
QA Steps
Same as Tests
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

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

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
NewChatPage
https://github.com/Expensify/App/assets/20051562/1ef67f7c-8ebc-453b-857a-454f7f3c7d80
ProfilePage
https://github.com/Expensify/App/assets/20051562/bdb053f0-c599-45fb-a46e-dc7227a0cbeb
PreferencesPage
https://github.com/Expensify/App/assets/20051562/f13c4e54-e945-42a3-96bc-84c4d299b8f4
ContactMethodDetailsPage
https://github.com/Expensify/App/assets/20051562/87871c90-b8d5-47d9-9f02-0f224c22c1ed

Android: mWeb Chrome
NewChatPage
https://github.com/Expensify/App/assets/20051562/9d160af7-bfa7-4634-b628-7cd89a69378b
ProfilePage
https://github.com/Expensify/App/assets/20051562/2d574f72-2bd4-4a07-a23f-4bc6f04fb265
PreferencesPage
https://github.com/Expensify/App/assets/20051562/ef6a2f99-8797-4362-bd4c-a490ef1a5eee
ContactMethodDetailsPage
https://github.com/Expensify/App/assets/20051562/8f06fa22-bab6-4572-a95c-81dcf60ecaef

iOS: Native
NewChatPage
https://github.com/Expensify/App/assets/20051562/6047bf1f-2aab-4eb6-b301-7ef88617e741
ProfilePage
https://github.com/Expensify/App/assets/20051562/096d5e6c-a30d-4e4a-8fc0-618ae41460a9
PreferencesPage
https://github.com/Expensify/App/assets/20051562/49d34273-f640-42de-bd9e-9dd2254ac177
ContactMethodDetailsPage
https://github.com/Expensify/App/assets/20051562/10d92997-7d05-46cf-af62-670108f6e8e9

iOS: mWeb Safari
NewChatPage
https://github.com/Expensify/App/assets/20051562/9eb44874-9fca-43a4-96a6-36835a17895b
ProfilePage
https://github.com/Expensify/App/assets/20051562/096ae707-9ae5-40dc-815d-56ad43cf7e9b
PreferencesPage
https://github.com/Expensify/App/assets/20051562/663af367-bc38-425a-b24c-96e2e5a3387c
ContactMethodDetailsPage
https://github.com/Expensify/App/assets/20051562/d9fc72cf-921e-4ca2-a0d2-c69c44597975

MacOS: Chrome / Safari
NewChatPage
https://github.com/Expensify/App/assets/20051562/deb6beb3-9933-4669-bc4e-8117de8b4752
https://github.com/Expensify/App/assets/20051562/6c7e2d99-74b6-4216-8b67-c229da23a059
ProfilePage
https://github.com/Expensify/App/assets/20051562/c18757b1-51e9-40df-8296-925b95160193
https://github.com/Expensify/App/assets/20051562/0def6993-5db5-4a20-9251-07fb756a2059
PreferencesPage
https://github.com/Expensify/App/assets/20051562/945b5e81-f685-4f98-b97c-62fecfc68562
https://github.com/Expensify/App/assets/20051562/feaf24e3-8af7-40fc-902c-1ab384df64bb
ContactMethodDetailsPage
https://github.com/Expensify/App/assets/20051562/b802ac4a-25e9-4728-bb0a-db779f63168a
https://github.com/Expensify/App/assets/20051562/2aa1f617-9937-4ced-9a94-d6c90244fc27

MacOS: Desktop
NewChatPage
https://github.com/Expensify/App/assets/20051562/d0726cea-b4d5-4701-b44c-4749d4ef0846
ProfilePage
https://github.com/Expensify/App/assets/20051562/28577aaa-03b8-4c07-98ef-c0c878c368d7
PreferencesPage
https://github.com/Expensify/App/assets/20051562/36f1a7bc-8eda-4337-bdb9-f310576d0e74
ContactMethodDetailsPage
https://github.com/Expensify/App/assets/20051562/4d89263d-4b50-41a7-a102-4ab9c3cdb0e4

Update: I'm currently having an issue with ContactMethodDetailsPage. When refactoring it to useOnyx, it displays a strange navigation behavior when reloading the page, the URL changes briefly and the screen is opened late.
withOnyx
https://github.com/Expensify/App/assets/20051562/7b82d053-e2bd-4830-8c91-ae20df087a62
useOnyx
https://github.com/Expensify/App/assets/20051562/8cc83233-0e6b-4d99-b845-eab0e343eb3b

Among the screens I refactored, this is the only one that displays this behavior, not sure why yet.

Update: Addressed some review comments and figured it out the reason for this issue, working on it. cc @blazejkustra @roryabraham

@blazejkustra @roryabraham
Removing it from HOLD because #38114 was merged 🎉 Changes were already applied on this PR.

@ishpaul777 I believe is related to this issue, backend issues with the search results.

@roryabraham bump

long live useOnyx

🚀 Deployed to staging by https://github.com/roryabraham in version: 1.4.63-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/mountiny in version: 1.4.63-21 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Drill files with Gxx commands on their own line crash the gerber parser

The following is valid Excellon:
G00
X040944Y019842
M15
G01
X040944Y020708
M16
The parser for the G00 and G01 commands assume that the coordinates follow the routing command on the same line.  When parsing excellon code like the example, this results in an index out of range exception in from_excellon because an empty string has been passed to it.
Need to add checks for empty string in from_excellon and separate the coordinate processing from the G00/G01 command processing.

Fixed by 7ad6c3f


android-arm-release takes way longer than everything else to download

Steps to Reproduce

Cause flutter to self-update, e.g. by syncing to a new revision and running flutter doctor.
Observe than everything takes <5s to download, except android-arm-release, which takes 90s

Logs and Crash Reports
Downloading Material fonts...                        1.1s
Downloading package sky_engine...                    0.8s
Downloading package sky_services...                  0.3s
Downloading engine artifacts android-arm...          4.4s
Downloading engine artifacts android-arm-profile...  4.5s
Downloading engine artifacts android-arm-release...  91.6s
Downloading engine artifacts android-x64...          2.9s
Downloading engine artifacts android-x86...          4.7s
Downloading engine artifacts ios...                  4.1s
Downloading engine artifacts ios-profile...          3.9s
Downloading engine artifacts ios-release...          2.1s
Downloading darwin-x64 tools...                      2.2s
Downloading android-arm-profile/darwin-x64 tools...  0.8s
Downloading android-arm-release/darwin-x64 tools...  0.7s

/cc @jason-simmons

I was able to reproduce this at one point but now am no longer seeing this.
AFAIK there isn't anything different about the android-arm-release object.  If this happens again, we can try a tool such as "gsutil perfdiag".

Yep, not happening any more.


[CALL~NOW!!] How do I speak to American customer Service?

𝐇𝐨𝐰 𝐃𝐨 𝐈 𝐒𝐩𝐞𝐚𝐤 𝐓𝐨 𝐀𝐦𝐞𝐫𝐢𝐜𝐚𝐧 𝐂𝐮𝐬𝐭𝐨𝐦𝐞𝐫 𝐒𝐞𝐫𝐯𝐢𝐜𝐞?
To Speak With American Airlines Customer Service, call their Customer Support hotline at +𝟏-𝟖𝟓𝟓-𝟓𝟐𝟔-𝟎𝟒𝟕𝟎 (Live Person). Through the IVR prompts, you can swiftly connect with a knowledgeable agent who can assist with reservation concerns. +𝟏-𝟖𝟓𝟓-𝟓𝟐𝟔-𝟎𝟒𝟕𝟎  Whether you need information about flights, policies, or any other queries, their dedicated team is prepared to provide prompt and reliable assistance. +𝟏-𝟖𝟓𝟓-𝟓𝟐𝟔-𝟎𝟒𝟕𝟎  Reach out today to get the answers you need for a stress-free travel experience.
To Speak With American Airlines Customer Service, call their Customer Support hotline at +𝟏-𝟖𝟓𝟓-𝟓𝟐𝟔-𝟎𝟒𝟕𝟎 (Live Person).


HHH-11729 - Add clarifications in the User Guide related to how Hibernate FetchMode types translate to JPA

https://hibernate.atlassian.net/browse/HHH-11729

Applied upstream, thanks

I didn't had time yet to find a better wording. I see that you have done it. thanks


update profile "header" data

To save edits in the "header" fields for the profiles use the function:
patchProfile(profile_id, field_name, new_value)

Previously was "patchStratigraphy"..

Examples:
Casing header
Date fields
patchProfile(1870, "date_spud", "2022-01-20")

Number, text fields
patchProfile(1870, "name", "Pegel5")

etc..


Unable to copy in OS X

I am unable to copy text from wetty under OS X. I can paste just fine and I see the scissors pop up when I hit COMMAND-C

It works for me. Can you debug at hterm.js: hterm.Terminal.prototype.onCopy_() by putting console.log statements and see if the function gets called when you do cmd-C?

Yep it gets called but the selected data doesn't get into the clipboard.

D'oh. I followed a recipe to create the container and it was reseting the checkout back before you made a change to that onCopy_ function(the setdefault) I removed the reset and now it works swimmingly. Thanks for your help


⚠ Bofrost.nl has degraded performance

In 2a03fdc, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1034 ms

Resolved: Bofrost.nl performance has improved in 927b16b.


Updated the metrics for Persistence

Updated the Persistence metrics to the modified values in the akka-persistence.json.
Persistence modified metrics  from the application:

promexample_mesmer_akka_persistence_event_time_sum
promexample_mesmer_akka_persistence_event_time_count
promexample_mesmer_akka_persistence_event_time_bucket
promexample_mesmer_akka_persistence_recovery_time_sum
promexample_mesmer_akka_persistence_recovery_time_count
promexample_mesmer_akka_persistence_recovery_time_bucket

@guda249 The values presented in the dashboards do not make sense now, unfortunately (events do not take 5 hours for sure):

It could be that I was wrong assuming we can use _sum histogram values. Or maybe some additional division is needed? Do you think you could investigate that?

@lgajowy  Sure, will look into this.

@lgajowy , I have looked into the metrics as the _sum metrics contains the sum of all time when that particular event has been triggered, couldn't find any proper division, which was giving meaningful graph. Except when i changed the graph timescale from ms to ns.

@skipper1982 do you think you could take a look at this?

@skipper1982 do you think you could take a look at this?

Sure. Will do.

@guda249: Please change the unit from ms to ns. And it should change ~5h into ~20ms, which seems about right.

Modifed the timeunit from ms to ns

Thanks!


Unable to decrypt using jasypt-spring-boot-starter:3.0.1

I am using spring boot:2.2.2.RELEASE when i tried to add jasypt functionality to hide my password i got the following error
Unable to decrypt: ENC(MyEncryptedPass). Decryption of Properties failed,  make sure encryption/decryption passwords match
i used the command line to encrypt the password and decrypt it and it works fine so i am sure my encryption and decryption passwords are exact but i get this error when i try to launch my spring application. So any help (•–•)

which command line? Jasypts original?
Jasypt alone has different encryption defaults than this library

in 3.0.2 you can encrypt/decrypt single values from the command line (with the maven plugin) without having to use jasypt directly


chore(deps): revert "update dependency dulwich to v0.22.7"

Reverts google/osv.dev#3011
poetry 1.8.5 depends on dulwich<0.22.0 and >=0.21.2

Can you add this requirements.txt to be ignored by renovatebot? It looks like it should only be updated by building the requirements.in

yes I made https://github.com/google/osv.dev/pull/3027


Playing with some of the issues that were annoying E2T

Set to auto-collapse, not sure if that is fully the direction we want to go. Also moved getting started, manifesto, and community links to root level so there isn't duplicate nav and page. Also changed an h2 to h1 to avoid it getting a sub-link, again not sure that is smart.

Going to refresh and fix conflicts

@earth2travis updated this to fix the errors. This can be opened for review now when you have a chance


Use generic-hand profile instead of generic-hand-select

The former does have a 3D model in the WebXR repository while the latter don't, that's why we don't show the hand model correctly in some experiences.
Apart from that do insert the hand profile at the beginning of the list of profiles. Otherwise the physical controller profile would be selected first.

This is how chromium renders now the controller in the profiles webxr samples. There is some problem with the rotation but the 3D model is the correct one now.


open-vm-tools: 11.1.5 -> 11.2.0

Motivation for this change
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

The two patch files could be removed since they are now include in the original code. The remaining change is a simple version bump.

Any update on this?

Result of nixpkgs-review pr 103466 run on x86_64-linux 1

2 packages built:

open-vm-tools
open-vm-tools-headless


Enhancement: Ability to turn haxeflixel volume controls off

Please check for duplicates or similar issues before creating this issue.
What is your suggestion, and why should it be implemented?
It's insanely annoying to accidentally press the 0 key while playing and mute the game, which can completely throw you off and potentially ruin an FC, or have the game volume turn down when putting in song names with spaces into the debug menu. The ability to turn the volume controls off would be a great QOL feature, at least in my opinion.

this should be more of a keybind that needs to be changed , not to turn of the volume controls off. if you keep experiencing it , id suggest you just take off the key to more room for your fingers


Setting basePath to  / fails validation of swagger.json

Description
I did a version upgrade which is breaking my api calls because of empty basePath. I need to keep my basePath empty for backward compatibility. Swagger v2.0.
According to the specification, / is a valid basePath but even after setting it in swagger.yaml or via app.add_api it's reset to the default empty string "" which fails json validation. I assume this mapping of yaml to json is done by connexion.
error log:
    def validate(self, *args, **kwargs):
        for error in self.iter_errors(*args, **kwargs):
>           raise error
E           swagger_spec_validator.common.SwaggerValidationError: ('\'\' does not match \'^/\'\n\nFailed validating \'pattern\' in schema[\'properties\'][\'basePath\']:\n    {\'description\': "The base path to the API. Example: \'/api\'.",\n     \'pattern\': \'^/\',\n     \'type\': \'string\'}\n\nOn instance[\'basePath\']:\n    \'\'', <ValidationError: "'' does not match '^/'">)

/anaconda3/envs/elprodnew/lib/python3.7/site-packages/jsonschema/validators.py:353: SwaggerValidationError

Expected behaviour
swagger.json should contain "basePath": "/", when base_path: "/" in swagger.yaml.
Actual behaviour
In swagger.json I get "basePath": "", when base_path: "/" in swagger.yaml.
Steps to reproduce
set base_path: "/"  in yaml file.
Additional info:
Output of the commands:
Python 3.7.6

pip show connexion | grep "^Version\:" Version: 2.5.1

I get this same error using connexion 2.6.0.  Here is a standalone program which demonstrates the problem.  Save it as connexion_base_path_bug.py.
import connexion

swagger_spec = {
    'swagger': '2.0',
    'info': {
        'version': '1.0.0',
        'title': 'Greeter'
    },
    'host': 'localhost:8001',
    'schemes': ['http'],
    'paths': {
        '/greet': {
            'get': {
                'summary': 'Greet caller',
                'operationId': 'connexion_base_path_bug.greet',
                'produces': ['text/plain'],
                'responses': {
                    '200': {
                        'description': 'Success'
                    }
                }
            }
        }
    }
}

def greet():
    return "Hello!\n"

app = connexion.FlaskApp(__name__)
app.add_api(swagger_spec, base_path='/')
app.run(port=8001)

Test it:
python connexion_base_path_bug.py

From another terminal tab:
curl http://localhost:8001/greet
# outputs "Hello!"

curl http://localhost:8001/swagger.json
# Returns a 500 error

When requesting swagger.json, the error from the server is:
[2020-02-07 08:55:06,667] ERROR in app: Exception on /swagger.json [GET]
Traceback (most recent call last):
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/flask/app.py", line 2446, in wsgi_app
    response = self.full_dispatch_request()
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/flask/app.py", line 1951, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/flask/app.py", line 1820, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
    raise value
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/flask/app.py", line 1949, in full_dispatch_request
    rv = self.dispatch_request()
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/flask/app.py", line 1935, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/connexion/apis/flask_api.py", line 299, in get_json_spec
    return flask.jsonify(self._spec_for_prefix())
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/connexion/apis/flask_api.py", line 312, in _spec_for_prefix
    return self.specification.with_base_path(base_path).raw
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/connexion/spec.py", line 157, in with_base_path
    new_spec = self.clone()
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/connexion/spec.py", line 148, in clone
    return type(self)(copy.deepcopy(self._raw_spec))
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/connexion/spec.py", line 38, in __init__
    self._validate_spec(raw_spec)
  File "/Users/ajenkins/Envs/xyzian-aZnlE9Oe/lib/python3.6/site-packages/connexion/spec.py", line 214, in _validate_spec
    raise InvalidSpecification.create_from(e)
connexion.exceptions.InvalidSpecification: '' does not match '^/'

Failed validating 'pattern' in schema['properties']['basePath']:
    {'description': "The base path to the API. Example: '/api'.",
     'pattern': '^/',
     'type': 'string'}

On instance['basePath']:
    ''
<IP_ADDRESS> - - [07/Feb/2020 08:55:06] "GET /swagger.json HTTP/1.1" 500 -

If I instead pass "/api" as the base_path argument to add_api, then fetching the swagger spec works fine.

I just discovered a workaround too.  If you just don't pass base_path to add_api at all, then everything works fine, and behaves as if basePath were set to '/'.  The only issue is that when you request /swagger.json, it gets returned with basePath: "".

Cannot reproduce.


chore: Deprecate Widget

Let's facilitate changing our community's vernacular to refer to Widgets as Components by denoting src/lib/components/Widget.js as deprecated, and expose a clone of this file at src/lib/components/Component.js

+1


Rezip in the .csv and .xls files and include the codebook with each

Describe the bug
Trying to solve a problem I created, can we include the codebook with the .csv and .xls files and have them as zip files? this solves two problems - one, it let's people get access to the codebook which they may need to understand the column names and two, it solves for the .csv on safari which just opens in another tab making it less useful for analysis purposes. Unfortunately I think this is both a front and back-end update.
To Reproduce
Steps to reproduce the behavior:

Go to 'Methodology & data'
Click on 'Downloads.'
Scroll down to 'the two file downloads.'
See error

Expected behavior
See above. Will need to update to say it is a .zip containing a .xls (or .csv) and a codebook and the unzipped file size.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.

@esfoobar-usds - can we talk about this today by chance?

@esfoobar-usds so it sounds like we need 2 new zip files:

CSV + codebook
XLS + codebook

Also if we can name these zips like: this-example-filename-name.zip in kebab case

Not exactly sure.. this is what currently available in the downloads folder:

I'm assuming the ones we want aren't here?

@vim-usds and @KameronKerger it's still in the sprint backlog column so I think it's just a matter of no one getting to it yet. We can pop it to the top of the list if this needs to get done soon.

no pressure, just sometime on / before 1.0


copy target is changed to dist path

The build process for the archive is revised. ev-server is built once instead of building each server module. Hence, in order to differentiate module archives, it is enough to copy relevant config.json to dist/ path.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


mercure: 0.16.2 -> 0.16.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for mercure is: Open, easy, fast, reliable and battery-efficient solution for real-time communications
meta.homepage for mercure is: https://github.com/dunglas/mercure
meta.changelog for mercure is: https://github.com/dunglas/mercure/releases/tag/v0.16.3
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.16.3 with grep in /nix/store/014m79vqj9kbabvdc1s4728snqjwg3sp-mercure-0.16.3
found 0.16.3 in filename of file in /nix/store/014m79vqj9kbabvdc1s4728snqjwg3sp-mercure-0.16.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

mercure

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/014m79vqj9kbabvdc1s4728snqjwg3sp-mercure-0.16.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A mercure https://github.com/r-ryantm/nixpkgs/archive/7e7b8af1e631b58441dc904f5fb1bfee683215dd.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/7e7b8af1e631b58441dc904f5fb1bfee683215dd#mercure

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/014m79vqj9kbabvdc1s4728snqjwg3sp-mercure-0.16.3
ls -la /nix/store/014m79vqj9kbabvdc1s4728snqjwg3sp-mercure-0.16.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

mercure

Maintainer pings
cc @gaelreyrol for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 336342 run on aarch64-darwin 1

1 package built:

mercure


Revise Assembly Instructions for Frog Sensor V3

Due to supply chain issues with Beagle and RPI, maybe we should also look into Orange PI (chinese alternative)
+ official website

@keenanjohnson, I have all of the parts listed in the V3 BOM.  I can take a shot at the assembly instructions for a full V3 sensor.  I need a little guidance on the hardware though.  I still have the V1 sensor up and running, and I know quite a bit has changed.

Do you have a wiring diagram, or just a sketch of what plugs into where for V3?
Do I need to download a new program to the sd card?
Once it's assembled, I'll probably need some assistance connecting to wifi, but I can document that process as well.

Hey @eaudiffred ! Wow yes that would be awesome if you wanted to jump in and help me document the process and getting all the pictures together for the build instructions! I'm going to go ahead and merge this PR for the V3 BOM and then we can add build instructions on top of that.

Hmmm I don't have a proper wiring diagram really other than the instructions with pictures here.. I will open another ticket to add that :)
You will need another program yes! The software instructions should be the same (other than selecting a different processor) as the V2 software instructions here which link to the program.
Indeed, let me know how I can help and where you get stuck!

FYI @eaudiffred I have created a new branch in Git that we can use to update the V3 instructions and add the correct exported mechanical files. It's called v3_docs and you can see there is an empty folder for v3.
I think we can start by just copying the docs from V2 and updating the pictures and instructions that have changed.

@keenanjohnson, thanks!  Thanks for sharing the link to the assembly instructions, I tent to get lost on GitHub pretty easily.  I'll work on getting updated pictures.
How do I attach the new antenna to the carrier board?  That's the only step I can think of that I can't figure out from the V2 instructions.

Thanks!  I'll take a look this evening.  Mine does have the TPLink wifi dongle on it.  I'll take a picture though and confirm one way or another.

I'll work on the pictures and part files this weekend.  As you stated above, @keenanjohnson, I'll just copy the V2 files and then change anything that has been updated for V3.

I've taken the pictures for the V3 assembly.  I'm not exactly sure how to upload or copy files in Github though.  I need to upload the new STL files, and then copy the V2 assembly instructions and update.  Is this what a Pull Request does?  I'll try to find a youtube video explaining how to navigate github.  For now the pictures are in the google drive.

@eaudiffred! That is excellent! Thank you so much!
Unfortunately, Github is a bit complicated, but I'll try to help out!
I've created a branch in github called "v3_instructions".
We can add all the proper pictures and update the links in the document files to point to the proper pictures in that branch.
All the images can go in the v3/assembly-instructions/images folder and then we can update the links to the images in the v3/instructions folder.
The mechanical files can be updated in the v3/hardware folder.
Let me know if you have any questions about how to add the files and edit with Github. I find using the Github desktop client to be easiest, but also if it's not in your interest to learn, please let me know and I can help out with that part of the updates.
Then we can create a pull request to review everything, I can add my pictures of the antennae, etc and merge it when we feel good.

@keenanjohnson I just sent a pull request with all of the new pictures and STL files for V3.  If this goes through successfully, then I think I have the hang of working in GitHub!  If it all looks ok on your end, then next I can start working on the assembly instructions updates.

Yeah, it looks great! I left a comment in the pull request regarding next steps.


HDX-10120 Changes to accommodate hapi-schema type annotation changes and the new 0.8.16 schema including data availability

I got mixed up which PR was which


Bug: XCBuildData/PIFCache doesn't exist

Description
PIFCache (/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-einijeybeftdgffqsashuprvowio/Build/Intermediates.noindex/ArchiveIntermediates/xxx/IntermediateBuildFilesPath/XCBuildData/PIFCache) doesn't exist. If you manually cleared Derived Data, you need to close and re-open the project for the PIFCache to be created again. Using the "Clean Build Folder" command instead (⇧ ⌘ K) won't trigger this error. If this error still happens after re-opening the project, please file a bug report here: https://github.com/MobileNativeFoundation/rules_xcodeproj/issues/new?template=bug.md
Reproduction steps
bt
Expected behavior
work
rules_xcodeproj version
1.16
Xcode version
15.2
Bazel version
6.1.1
rules_apple version
3.3.0
rules_swift version
1.16.0
Additional information
No response

Do you have a minimal reproduction with steps? Otherwise we won't be able to help debug and fix this.

Do you have a minimal reproduction with steps? Otherwise we won't be able to help debug and fix this.
From the path it looks like this is from an Archive command, which we don't support.

yes, the error message came from xcode archive,  xcode build work well.  Now my question is: how to archive project
if using rules_xcodeproj?

https://github.com/MobileNativeFoundation/rules_xcodeproj/blob/main/docs/faq.md#does-the-archive-action-work
rules_apple now has a new xcarchive rule as well that you can use.


feat(appdistribution): add in-app-feedback support

@lfkellogg Great callout on the README. I updated it and its screenshot. PTAL


shares|ipld: Rework data retrieval

What and Why
This PR comes from the requirement to make tests in #598 pass deterministically by reimplementing the original goal of #517. At first, I implemented the goal by simply updating the current code without reworking it. Unfortunately, that didn't work well, and there was a bug that made me stuck for a few days. After extensive multiday debugging, I cleaned up and reworked the existing implementation of RetrieveData in studying the code for the bug. The rework landed into a new ipld.Retriever component, which now not just requests the data via sampling quadrants but also retries for other quadrants.
Eventually, the bug was about rsmt2d not being suitable for recovering over the same data square multiple times, as it sets nil shares to zeroed shares to the given flattened square slice(it actually updates the given slice in place after all!). I will report and link here the issue soon with the suggested fix. The issue https://github.com/celestiaorg/rsmt2d/issues/72. Unless it is fixed, this PR has a workaround with the TODO on it.
TODO

[x] Rework IPLD batch committing logic
[x] Fix rsmt2d's zeroing of nil shares (https://github.com/celestiaorg/rsmt2d/pull/76)
[x] Use rsmt2d v0.4.0 with the above fix
[x] Parallelize downloading from different roots
[x] Add Debug logging
[x] Improve comments
[x] Add randomization with Col roots and retries(will fix in #508)
[ ] Write unit test for quadrants retries(Currently tested only with unmerged tests in #598)

Closes #509
Closes #508
Closes #516 ,
Partially closes #604
Note: @vgonkivs was informed about the new implementation of RetrieveData

The test failure is #608

https://github.com/celestiaorg/rsmt2d/releases/tag/v0.4.0 is now released, which should be able to handle multiple repairs on the same square by representing missing shares as nil internally.

Codecov Report

Merging #623 (e128550) into main (16dba97) will decrease coverage by 0.07%.
The diff coverage is 80.92%.

:exclamation: Current head e128550 differs from pull request most recent head 7845ba9. Consider uploading reports for the commit 7845ba9 to get more accurate results

@@            Coverage Diff             @@
##             main     #623      +/-   ##
==========================================
- Coverage   61.70%   61.62%   -0.08%
==========================================
  Files          93       96       +3
  Lines        4969     5024      +55
==========================================
+ Hits         3066     3096      +30
- Misses       1581     1603      +22
- Partials      322      325       +3

Impacted Files
Coverage Δ

node/config_opts.go
27.27% <0.00%> (-8.73%)
:arrow_down:

node/node.go
60.86% <ø> (ø)

cmd/celestia/full.go
41.93% <33.33%> (-0.93%)
:arrow_down:

cmd/celestia/light.go
41.93% <33.33%> (-0.93%)
:arrow_down:

cmd/celestia/bridge.go
56.89% <50.00%> (-0.80%)
:arrow_down:

cmd/flags_rpc.go
76.00% <76.00%> (ø)

service/share/full_availability.go
93.75% <91.66%> (-6.25%)
:arrow_down:

ipld/retriever.go
91.95% <91.95%> (ø)

ipld/read.go
77.94% <100.00%> (-7.25%)
:arrow_down:

node/components.go
94.11% <100.00%> (-0.69%)
:arrow_down:

... and 10 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 28020da...7845ba9. Read the comment docs.

I updated the branch with randomization and retries over columns. Better be done within this PR.


Next js CSS import error

Global CSS cannot be imported from within node_modules.
Read more: https://nextjs.org/docs/messages/css-npm
Location<EMAIL_ADDRESS>

I have same issue.
@cyntler Can you check it?

@dattm97 Yes, I try to provide css styles as a another bundled css file to optional import in project, instead of directly js file importing.

you can use "1.12.0" version

@cyntler Can you please elaborate, on what you mean? How to fix this? I get the following error:
  ⨯ /Users/user/company/project/node_modules/@cyntler/react-doc-viewer/node_modules/react-pdf/dist/esm/Page/AnnotationLayer.css:16
:root {
^

SyntaxError: Unexpected token ':'
    at internalCompileFunction (node:internal/vm:73:18)
    at wrapSafe (node:internal/modules/cjs/loader:1178:20)
    at Module._compile (node:internal/modules/cjs/loader:1220:27)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at mod.require (/Users/user/company/project/node_modules/next/dist/server/require-hook.js:64:28)
    at require (node:internal/modules/cjs/helpers:119:18)
    at Object.<anonymous> (/Users/user/company/project/node_modules/@cyntler/react-doc-viewer/dist/cjs/renderers/pdf/index.js:16:1)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19) {
  page: '/organizations/N2ZQ4yv0pa7N/workflows/vendorSetup2/tasks/TPvT8p9GzaK4'
}

Using latest version of the Next js and I have simply imported the  component:-
import DocViewer, { DocViewerRenderers, PDFRenderer } from '@cyntler/react-doc-viewer'

Try to use the latest version (1.16.2) and use it line in your projects: https://github.com/cyntler/react-doc-viewer?tab=readme-ov-file#required-styles


Unable to remove image from chat thread/context window

Bug Report
Installation Method
Helm in k8s 1.29
Environment

Open WebUI Version: 0.3.15

Ollama (if applicable): N/A

Operating System: Ubuntu

Browser (if applicable): Chrome

Confirmation:

[X] I have read and followed all the instructions provided in the README.md.
[X] I am on the latest version of both Open WebUI and Ollama.
[ ] I have included the browser console logs.
[ ] I have included the Docker container logs.
[X] I have provided the exact steps to reproduce the bug in the "Steps to Reproduce" section below.

Expected Behavior:
When a user uploads an image to interact with, they should be able to remove that image, similar to how documents can be removed from a thread, if they want to interact with another image in the same thread.
Actual Behavior:
When uploading an image it is inserted into the chat but you can not remove it when you go to the three bars in teh top right. For some on-prem LLM solutions you can't have 2 images in the same chat OR you might just want to remove an image from a thread.
Description
Bug Summary:
Unable to remove image from a chat thread
Reproduction Details
Steps to Reproduce:
Upload an image to a thread, try to open the three bar menu on the right to remove it, similar to how documents are removed, and you aren't given an option to do that.
Logs and Screenshots
Browser Console Logs:
[Include relevant browser console logs, if applicable]
Docker Container Logs:
[Include relevant Docker container logs, if applicable]
Screenshots/Screen Recordings (if applicable):

Additional Information
To resolve this we have to start a new thread for each image we upload, get a little cluttered :(
Note
Another nice to have option (not sure if it is worth it) would be to remove the previous image from the context window automatically upon uploading a second image but continue to keep the description of that image for continued use while other images are interacted with

That is because the conversation just started. You can not delete the first query you sent to start a chat. If you had just uploaded one more image and asked another question, you would become aware of this. I don't see a bug here.

Ah i see, our problem lies in the fact that if a second image is sent our local backend is unable to process both images and i was hoping to solve that by removing the first image from being sent a second time.
If i send follow up messages (no more images) or start chatting with the model before sending an image, should that enable me to remove it? Cause i don't see the image appear after trying both of those.
E.g. I said hello first and then asked it about an image and don't see it appear. Since the documents don't exhibit the same behavior i was hoping it would be the same case here:

Appreciate the help

So would it be the case that even with chatting with the model before hand that it still doesn't show and would only show upon a second image being sent?

Appreciate the help

So would it be the case that even with chatting with the model before hand that it still doesn't show and would only show upon a second image being sent?

Appreciate the help

Yes, that is the case. Your first query sent in a chat can not be deleted, no matter if it contains text, text + a document linked for RAG, or text + a document for use with vision models.

Sorry for being a little dense then, So in the pic above, the image is my second query, should i still not be able to delete it then on the right hand menu based on what you just said? Since if i upload a non-picture file it shows up on the side for me to delete after the first query:

Was hoping the image to show up under "files"

Sorry for being a little dense then, So in the pic above, the image is my second query, should i still not be able to delete it then on the right hand menu based on what you just said? Since if i upload a non-picture file it shows up on the side for me to delete after the first query:

Was hoping the image to show up under "files"

Images will not show up within the Chat Controls sidebar beneath the Files section like you might've been expecting.
A document or a collection of documents will only appear within the Files section of the Chat Controls sidebar if documents were sent in the chat with a query of yours. The X button you circled in red within the Chat Controls sidebar is to remove a Document from the chat context, so that you can carry on in the chat without the LLM using your document(s) as ground truth for knowledge.

Would that be a separate feature request then so that we can remove it from the context window? Should i make a new issue for that or can we convert this one?
I'd like to be able to remove a picture without having to start a separate thread altogether for each picture we interact with. We will end up with a lot of chats that need deleting


Non-functional and more comments on variable shapes

Hi,

I have made added some comments to give reader an idea of variable shapes so that variables could be tracked better.
Thanks for the repo. Simple and clean implementation of Stabilising transformers-RL paper.

Thanks a lot for this!


my node send a transaction , it will cost a lot of CPU

my node send a transaction , it will cost a lot of CPU. What do I need to set up, or do I not have enough hardware.
my service 4c8G
{"code":500,"error":{"code":3081001,"name":"leeway_deadline_exception","what":"Transaction reached the deadline set due to leeway on account CPU limits","details":[{"message":"the transaction was unable to complete by deadline, but it is possible it could have succeeded if it were allowed to run to completion 111067","file":"transaction_context.cpp","line_number":398,"method":"checktime"},{"message":"pending console output: ","file":"apply_context.cpp","line_number":113,"method":"exec_one"}]},"message":"Internal Service Error"}

Does your EOS account have enough CPU resource?

I change a server , and start node ,now it is OK


popup.html toggle to turn on/off (vs disabling entire extension)

add a toggle in popup.html to turn on/off, instead of making the user disable the entire extension in browser settings

this would help with avoiding it automatically asking for permission on all open tabs

i think firefox settings already take care of this


Report "Consolidated Trial Balance" layout change

is it possible to have a minor change done to the layout of the report "consolidated trial balance"
in the BE version the title of the report is not completely shown:

This issue is not related to the AL extensibility. Please report it via the standard support channel.


How to not separate numbers from letter in the resulting property name.

I have a
<xs:simpleType name="NamesType">
    <xs:restriction base="xs:string">
        <xs:enumeration value="CARLOS" />
        <xs:enumeration value="CARLOS2" />
    </xs:restriction>
</xs:simpleType>

The result is a
public enum NamesType {
    ...
    CARLOS("CARLOS"),
    @XmlEnumValue("CARLOS2")
    CARLOS_2("CARLOS2"),
    ...
}

Is there a way to avoid the underscore in the second enum value?
Thanks

This question is out of the scope here as it's not the Maven plugin functionality.
Please ask on StackOverflow. Hint: google jaxb:typesafeEnumMember.

Thanks.. managed to solve it with some google results from your suggestion.


Update Makefile

BSD sed (found on macOS) doesn't have the -r flag, but both GNU and BSD sed support -E

Coverage remained the same at 35.697% when pulling 60891bea623bb7407015c85998cbcb369b09ff9c on Alok:patch-1 into e38afd42353c49229fefcf40ded7433547e8d139 on newsboat:master.

Thank you! This also made me realize we don't build the docs on Travis; otherwise we'd found this much, much sooner. Filed #66 about that.


[ feature request ] Add support for alternative sources of package collections

I ran into a problem that some upstream package (which is not yet present in the pack collection) requires some additional or alternative versions of some packages, and thus downstream package needs to copy all the settings of upstream's pack.toml to their local pack.toml. I was thinking of how this can be better, and realised that alternative sources of collections can help. As it turned out, I'm not the only one who is struggling with this problem.
So, what I suggest is to make able people to create their own pack collections easily and be able to use them easily. For that, I think of the following steps that we can achieve this:

[ ] Support for setting alternative source of a pack collection
This can be done either by having an additional property in the pack.toml, say
collection = "my-fancy-collection"
collection-source = "http://github.com/username/my-fancy-project/.pack-config"

or by allowing a URL in the collection property:
collection = "http://github.com/username/my-fancy-project/.pack-config/my-fancy-collection.toml"

I personally prefer the latter for simplicity

[ ] (optional) Support of collections of known, possibly popular, collection sources, allowing easier use and future-proofing for potential migrations. Say, we have a special alternative-sources in the pack-db project, which contains, say, that frex project has a list of its alternative collections in its repo. This would allow us to use it in out pack.toml in the following way:
collection = "frex:my-fancy-frex-based-collection-20230000"

[ ] Support for inheritance or joining of collections
This is for making creation of new collections easier. The way I see it can work is the following: we add an ability to add a property to a collection description which collection/collections it inherits, i.e. uses all the definitions as a base. After that the author of this inherited collection has add, redefine or remove some packages. This allows us to use alternative versions of existing libraries (and remove incompatible users), and add something not yet published in the main pack collection (or not publishable due to tricky dependencies, say dependencies on sufficiently older versions). Addition and redefinition is easy, we can use normal way of packages definition, we need to invent a way of removing packages from the inheritance.

[ ] As the final thing, we probably should provide a way for users to check their custom collections on the consistency, as not it is done in the pack-db repository. This can be done my making this check a reusable workflow (one, two). This would make it much easier to launch checks of custom collection consistency on a CI.

Sorry for the late response. This would surely be a nice thing to have, but it will require some planning - so of which you have already done above - and I'm afraid I won't be able to tackle this before the summer (earliest).

I second that feature request! Would like to be able to least tell pack to use a custom collection file.


White space cleanup

As requested in PR #304

PR was merged -- thanks! 👍
As followup, it would be good to update Goose to not generate output with the trailing spaces.

it would be good to update Goose to not generate output with the trailing spaces.

Is it really Goose/Rust output issue and not a CR/LF issue when pasting?


Fix for issue #400.  When I'm back this afternoon I'll play with it against the actual data.

This PR can be closed now, right, @pranavkm?


Fix Android certificate validation JNI calling convention

Use JNI parameter ordering defined for instance methods (instead of the
static methods one).
Add tests to avoid regressions.
#1575

/retest

@danzh2010 Would you like to review this yourself or should I send this to someone else?

/retest

/assign @RyanTheOptimist

@StefanoDuo is this ready to merge?

/wait

/wait

/retest

P.S. Sorry for the late follow-up. I've been OOO for the past month.
AFAIU, most of these CL has been merged by @danzh2010 through https://github.com/envoyproxy/envoy-mobile/pull/2554. What's missing is just these additional tests, that prevent the calling convention bug to resurface in the future.
I've rebased and updated the code to reflect that.

Closing this PR as this repo is now archived. You can open a new PR in the Envoy repo if you'd like: https://github.com/envoyproxy/envoy


Typo Hanlder -> Handler in Auth.ts

Issue #, if available:
Description of changes:
Typo issue
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@49d91e7). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master     #620   +/-   ##
=========================================
  Coverage          ?   89.19%
=========================================
  Files             ?       69
  Lines             ?     3221
  Branches          ?      612
=========================================
  Hits              ?     2873
  Misses            ?      330
  Partials          ?       18

Impacted Files
Coverage Δ

packages/aws-amplify/src/Auth/Auth.ts
84.71% <0%> (ø)

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 49d91e7...04a8055. Read the comment docs.


Update faq

@parbenc @MKKnorr
Some unintended consequences of the .md to .rst change that I just noticed are live:
Single backticks produce italics, instead of unformatted blocks. Here is an example - HIP_PLATFORM is now rendered as HIP_PLATFORM  (ref)
Also, these nested bullet points got messed up and rendered as a single line

HIP provides * pointers and host-side pointer arithmetic. * device-level control over memory allocation and placement. * an offline compilation model.

(ref)


New shipping label generated after manually entering incorrect tracking code

Current behavior
A new shipping label is generated and displayed when a tracking code is manually entered and saved.
Expected behavior
No new shipping label should be generated when a tracking code is entered manually. The system should display the existing label associated with the selected carrier and shipment method.
Steps to reproduce the issue
Go to the 'In Progress' tab and open the order detail page of an order.
Click pack order button.
Select the carrier and shipment method.
Manually enter the tracking code for the order.
Save the tracking code.
View label for the selected carrier and shipment method.
Observe the issue.
Environment details
App version : v2.9.0
App environment : UAT
Additional information
https://jam.dev/c/8a241f4c-e0f1-4dae-b08c-5384a370cca3

This issue is fixed was fixed in the following PR: https://github.com/hotwax/fulfillment/pull/773

Verified and working fine in release v2.10.0. Hence, closing it.


Add filter for product texts once it's supported on the API from LWINSIDE

@steeve-christen, is there a corresponding issue in lw-inside?

Yes, there is one: https://detailnet.atlassian.net/browse/LWINSIDE-357


How would it be happened when the zeabur's memos rebooted?

Describe the bug
Yesterday, the service of memos deployed in zeabur was good. But when I open the web of memos, the version backs to the 0.12.2. And all datas of my memos can not reach. What's wrong with the memos in zeabur's version? Before the problem happended, my version is 0.14.1. Did the memos in zeabur market rollback? I can not understand.
Steps to reproduce

go to the zeabur's admin web
suspend the service of memos and reboot it.

Screenshots or additional context
03:19terminated received.
03:19memos stopped properly
03:19---
03:19Server profile
03:19dsn: /var/opt/memos/memos_prod.db
03:19port: 5230
03:19mode: prod
03:19version: 0.12.2
03:19---
03:19███╗   ███╗███████╗███╗   ███╗ ██████╗ ███████╗
03:19████╗ ████║██╔════╝████╗ ████║██╔═══██╗██╔════╝
03:19██╔████╔██║█████╗  ██╔████╔██║██║   ██║███████╗
03:19██║╚██╔╝██║██╔══╝  ██║╚██╔╝██║██║   ██║╚════██║
03:19██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║╚██████╔╝███████║
03:19╚═╝     ╚═╝╚══════╝╚═╝     ╚═╝ ╚═════╝ ╚══════╝
03:19Version 0.12.2 has started at :5230

As far as I know zeabur doesn't provide data persistence support, so theoretically your "reboot" will probably be a "re-deploy", which will make you lose all your data. My advice is to ask zeabur for help.

As far as I know zeabur doesn't provide data persistence support, so theoretically your "reboot" will probably be a "re-deploy", which will make you lose all your data. My advice is to ask zeabur for help.

so, where is the docker image of memos in zeabur from? who takes responsable for the maintaince of memos's version  in zeabur?

As far as I know zeabur doesn't provide data persistence support, so theoretically your "reboot" will probably be a "re-deploy", which will make you lose all your data. My advice is to ask zeabur for help.

so, where is the docker image of memos in zeabur from? who takes responsable for the maintaince of memos's version in zeabur?

From the deployment templates used to known that: https://dash.zeabur.com/templates/LPCVAH

@MichaelYuhe

He is Zeabur Co-Founder.

We're working on a new solution for data storage. For now we can't provide data persistence support for memos, but services like MongoDB or MySQL can have a persistent storage. We use memos' official docker image, you can check here. https://github.com/zeabur/zeabur/blob/main/marketplace/memos.json
For the downgrade issue, please go to our Discord server for help.

We're working on a new solution for data storage. For now we can't provide data persistence support for memos, but services like MongoDB or MySQL can have a persistent storage. We use memos' official docker image, you can check here. https://github.com/zeabur/zeabur/blob/main/marketplace/memos.json For the downgrade issue, please go to our Discord server for help.

3Q for your reply. So, when does the memos support RDB, like MySQL, or NoSQL, like MongoDB? Do your team have any plan or issue to develop?

As far as I know zeabur doesn't provide data persistence support, so theoretically your "reboot" will probably be a "re-deploy", which will make you lose all your data. My advice is to ask zeabur for help.

so, where is the docker image of memos in zeabur from? who takes responsable for the maintaince of memos's version in zeabur?

From the deployment templates used to known that: https://dash.zeabur.com/templates/LPCVAH

@MichaelYuhe

He is Zeabur Co-Founder.

3Q for your reply. I didn't use the template to deploy memos in zeabur, but chose the one in Market. Are they the same?

3Q for your reply. I didn't use the template to deploy memos in zeabur, but chose the one in Market. Are they the same?

IDK, you should look for it by yourself.


Nylo -> Freezed package Not able to generate generated file

Not able to generate
part user.g.dart
but in core flutter
its working
in nylo its not working

This isn't an issue with Nylo as such, files in Nylo should be created using the metro make:model ... command.
I think it's best to move this into the discussions tab.


Dead link https://www.visualstudio.com/en-us/integrate/get-started/auth/overview/

Found in docs/service-hooks/services/bamboo.md

Link was replaced in that article and is fixed.


JSDoc for object props

VSCode Version: 1.21.0
OS Version: macOS

I don't get correct type annotation in function parameters even if I do as http://usejsdoc.org/tags-param.html#parameters-with-properties

As you can see it says any even if it's boolean.

@mjbvz I tested and seems if I write like this:
// I get autocomplete in sheet which knows I have mapping as boolean
parseData(context, createRecord, row, sheet) {}

But if I do as shown in the picture above I don't get correct type annotation in mapping or any other variable. Seems working only if I use it as an object not the destructuring.

Thanks!
This is already tracked upstream by #https://github.com/Microsoft/TypeScript/issues/19645


urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)>

The error you are encountering, SSL: CERTIFICATE_VERIFY_FAILED, is related to SSL certificate verification when trying to download the pre-trained weights for the ResNet18 model from the internet. This issue typically occurs in environments where SSL certificates are not properly configured, or there might be some network restrictions preventing the download.
To resolve this issue, you can try the following solutions:

Disable SSL Certificate Verification (Not Recommended):
You can disable SSL certificate verification, but this is not recommended as it poses security risks. To disable SSL verification, add the following code at the beginning of your script:
import ssl
ssl._create_default_https_context = ssl._create_default_https_context = ssl._create_unverified_context

Keep in mind that this solution should be used with caution, and it is better to fix the SSL certificate verification issue properly.

Fix SSL Certificate Verification Issue (Recommended):
The recommended approach is to fix the SSL certificate verification issue properly. This can be done by updating your SSL certificates or resolving network restrictions.
If you are using Anaconda, you can try updating the certifi package to ensure you have the latest SSL certificates:
conda update certifi

If you are working in a corporate network or behind a firewall, you might need to configure your network to allow the necessary connections for SSL certificate verification.

Use a Pre-downloaded Model Weights (Alternative):
If you have access to the pre-trained model weights, you can manually download the weights and load them from a local file instead of using the pretrained=True option. Download the weights from a source like the official PyTorch model zoo or torchvision's GitHub repository, and then load the weights as follows:
base_model = models.resnet18(pretrained=False)
base_model.load_state_dict(torch.load("path_to_downloaded_weights.pth"))

Remember to replace "path_to_downloaded_weights.pth" with the actual path to the pre-downloaded model weights.
Always ensure that you have proper SSL certificate verification in place, as disabling it might expose your system to security risks. If you are unable to resolve the SSL certificate verification issue, consider seeking help from your system administrator or network support team.

three working solutions above


Icon for Greater misleading when flipped

Reported by xrn on 24 May 2012 11:07 UTC
The icon of following classes uses text to draw the "greater" sign or the "less" sign.
Modelica.Blocks.Logical.Greater
Modelica.Blocks.Logical.GreaterEqual
Modelica.Blocks.Logical.Less
Modelica.Blocks.Logical.LessEqual
When flipped horizontally, the text is not flip, but all other graphics of the icon are flipped. As a consequence, instead of reading u1>u2, the user will read u1<u2 on the flipped "Greater" icon.
Proposal: use graphics instead of text for the ">" and "<" signs.

Migrated-From: https://trac.modelica.org/Modelica/ticket/745

Comment by dietmarw on 24 May 2012 12:37 UTC
This sounds like a reasonable proposal to me. This ticket actually triggered another issue for me. See #746.

Comment by otter on 10 Dec 2012 19:34 UTC
Fixed in 2d0cf3579a34b1a5b6fa289f48e51c5f9c028681 as suggested

Changelog removed by otter on 10 Dec 2012 19:34 UTC


[Question]: why PostgresKVStore table class does not match my postgres vector table schema?

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
Question
I  am using PostgresDocumentStore and PostgresKVStore  to get Next and Prev node .  But I got the follow error

psycopg2.errors.UndefinedColumn) column data_small_db.key does not exist
[SQL: SELECT public.data_small_db.id, public.data_small_db.key, public.data_small_db.namespace, public.data_small_db.value
FROM public.data_small_db
WHERE public.data_small_db.key = %(key_1)s AND public.data_small_db.namespace = %(namespace_1)s]

I have a vector database small_db that created by llama-index  and default schema is
  Column   |       Type        | Collation | Nullable |                  Default
-----------+-------------------+-----------+----------+-------------------------------------------
 id        | bigint            |           | not null | nextval('data_small_db_id_seq'::regclass)
 text      | character varying |           | not null |
 metadata_ | json              |           |          |
 node_id   | character varying |           |          |
 embedding | vector(1536)

Column definition in PostgresKVStore
class AbstractData(base):  # type: ignore
        __abstract__ = True  # this line is necessary
        id = Column(Integer, primary_key=True, autoincrement=True)
        key = Column(VARCHAR, nullable=False)
        namespace = Column(VARCHAR, nullable=False)
        value = Column(metadata_dtype)

I found the issue is that  column in PostgresKVStore not match my vector database.
Am I missing something, or is there a bug here?

The kvstore and vector store should be created as two different tables, with different table names and different schemas
It seems like you are querying the vector store thinking it has the same fields as the kv store?


tools/dataset_converter/point_cloud_i2v.py running too slow

Hi!
When I tried to Convert point cloud data from infrastructure coordinate system to vehicle coordinate system according to this guidance, I found that this code ran too slow, which took about 20 hours.
After optimization through vectorization and multi-processing, the whole conversion process only takes about 20 minutes (I used 16 processes here).
The modified code is as follows, hope this code is correct and can help.
import os
import json
import argparse
import numpy as np
from pypcd import pypcd
import open3d as o3d
from tqdm import tqdm
import errno

from concurrent import futures as futures

def read_json(path_json):
    with open(path_json, "r") as load_f:
        my_json = json.load(load_f)
    return my_json

def mkdir_p(path):
    try:
        os.makedirs(path)
    except OSError as exc:  # Python >2.5
        if exc.errno == errno.EEXIST and os.path.isdir(path):
            pass
        else:
            raise

def get_virtuallidar2world(path_virtuallidar2world):
    virtuallidar2world = read_json(path_virtuallidar2world)
    rotation = virtuallidar2world["rotation"]
    translation = virtuallidar2world["translation"]
    delta_x = virtuallidar2world["relative_error"]["delta_x"]
    delta_y = virtuallidar2world["relative_error"]["delta_y"]
    return rotation, translation, delta_x, delta_y

def get_novatel2world(path_novatel2world):
    novatel2world = read_json(path_novatel2world)
    rotation = novatel2world["rotation"]
    translation = novatel2world["translation"]
    return rotation, translation

def get_lidar2novatel(path_lidar2novatel):
    lidar2novatel = read_json(path_lidar2novatel)
    rotation = lidar2novatel["transform"]["rotation"]
    translation = lidar2novatel["transform"]["translation"]
    return rotation, translation

def get_data(data_info, path_pcd):
    for data in data_info:
        name1 = os.path.split(path_pcd)[-1]
        name2 = os.path.split(data["pointcloud_path"])[-1]
        if name1 == name2:
            return data

def trans(input_point, translation, rotation):
    input_point = np.array(input_point).reshape(3, -1)
    translation = np.array(translation).reshape(3, 1)
    rotation = np.array(rotation).reshape(3, 3)
    output_point = np.dot(rotation, input_point).reshape(3, -1) + np.array(translation).reshape(3, 1)
    return output_point

def rev_matrix(R):
    R = np.matrix(R)
    rev_R = R.I
    rev_R = np.array(rev_R)
    return rev_R

def trans_point_i2v(input_point, path_virtuallidar2world, path_novatel2world, path_lidar2novatel):
    # print('0:', input_point)

    # virtuallidar to world
    rotation, translation, delta_x, delta_y = get_virtuallidar2world(path_virtuallidar2world)
    point = trans(input_point, translation, rotation) + np.array([delta_x, delta_y, 0]).reshape(3, 1)
    """
    print('rotation, translation, delta_x, delta_y', rotation, translation, delta_x, delta_y)
    print('1:', point)
    """

    # world to novatel
    rotation, translation = get_novatel2world(path_novatel2world)
    new_rotation = rev_matrix(rotation)
    new_translation = -np.dot(new_rotation, translation)
    point = trans(point, new_translation, new_rotation)
    """
    print('rotation, translation:', rotation, translation)
    print('new_translation, new_rotation:', new_translation, new_rotation)
    print('2:', point)
    """

    # novatel to lidar
    rotation, translation = get_lidar2novatel(path_lidar2novatel)
    new_rotation = rev_matrix(rotation)
    new_translation = -np.dot(new_rotation, translation)
    point = trans(point, new_translation, new_rotation)
    """
    print('rotation, translation:', rotation, translation)
    print('new_translation, new_rotation:', new_translation, new_rotation)
    print('3:', point)
    """
    point = point.T

    return point

def read_pcd(path_pcd):
    pointpillar = o3d.io.read_point_cloud(path_pcd)
    points = np.asarray(pointpillar.points)
    return points

def show_pcd(path_pcd):
    pcd = read_pcd(path_pcd)
    o3d.visualization.draw_geometries([pcd])

def write_pcd(path_pcd, new_points, path_save):
    pc = pypcd.PointCloud.from_path(path_pcd)
    pc.pc_data["x"] = new_points[:, 0]
    pc.pc_data["y"] = new_points[:, 1]
    pc.pc_data["z"] = new_points[:, 2]
    pc.save_pcd(path_save, compression="binary_compressed")

def trans_pcd_i2v(path_pcd, path_virtuallidar2world, path_novatel2world, path_lidar2novatel, path_save):
    # (n, 3)
    points = read_pcd(path_pcd)
    # (n, 3)
    new_points = trans_point_i2v(points.T, path_virtuallidar2world, path_novatel2world, path_lidar2novatel)
    write_pcd(path_pcd, new_points, path_save)

def map_func(data, path_c, path_dest, i_data_info, v_data_info):
    path_pcd_i = os.path.join(path_c, data["infrastructure_pointcloud_path"])
    path_pcd_v = os.path.join(path_c, data["vehicle_pointcloud_path"])
    i_data = get_data(i_data_info, path_pcd_i)
    v_data = get_data(v_data_info, path_pcd_v)
    path_virtuallidar2world = os.path.join(
        path_c, "infrastructure-side", i_data["calib_virtuallidar_to_world_path"]
    )
    path_novatel2world = os.path.join(path_c, "vehicle-side", v_data["calib_novatel_to_world_path"])
    path_lidar2novatel = os.path.join(path_c, "vehicle-side", v_data["calib_lidar_to_novatel_path"])
    name = os.path.split(path_pcd_i)[-1]
    path_save = os.path.join(path_dest, name)
    trans_pcd_i2v(path_pcd_i, path_virtuallidar2world, path_novatel2world, path_lidar2novatel, path_save)

def get_i2v(path_c, path_dest, num_worker):
    mkdir_p(path_dest)
    path_c_data_info = os.path.join(path_c, "cooperative/data_info.json")
    path_i_data_info = os.path.join(path_c, "infrastructure-side/data_info.json")
    path_v_data_info = os.path.join(path_c, "vehicle-side/data_info.json")
    c_data_info = read_json(path_c_data_info)
    i_data_info = read_json(path_i_data_info)
    v_data_info = read_json(path_v_data_info)

    total = len(c_data_info)
    with tqdm(total=total) as pbar:
        with futures.ProcessPoolExecutor(num_worker) as executor:
            res = [executor.submit(map_func, data, path_c, path_dest, i_data_info, v_data_info) for data in c_data_info]
            for _ in futures.as_completed(res):
                pbar.update(1)

parser = argparse.ArgumentParser("Convert The Point Cloud from Infrastructure to Ego-vehicle")
parser.add_argument(
    "--source-root",
    type=str,
    default="./data/DAIR-V2X/cooperative-vehicle-infrastructure",
    help="Raw data root about DAIR-V2X-C.",
)
parser.add_argument(
    "--target-root",
    type=str,
    default="./data/DAIR-V2X/cooperative-vehicle-infrastructure/vic3d-early-fusion/velodyne/lidar_i2v",
    help="The data root where the data with ego-vehicle coordinate is generated",
)
parser.add_argument(
    "--num-worker",
    type=int,
    default=1,
    help="Number of workers for multi-processing",
)

if __name__ == "__main__":
    args = parser.parse_args()
    source_root = args.source_root
    target_root = args.target_root
    num_worker = args.num_worker

    get_i2v(source_root, target_root, num_worker)

Updated on January 15, 2023: fixed a bug that caused conversion errors

Thanks for your contribution. We will check it. If all right, we hope you can submit a merge?

Close after merged into main.


Validate start date is before or equal end date

Validates if start date is before or equal to end date when adding or viewing events
Not sure how we can validate the time in ParserUtil since we use the same parseDateTime, so if the date is adjusted in the JSON file, it will actually display

Codecov Report
Base: 72.67% // Head: 71.98% // Decreases project coverage by -0.68% :warning:

Coverage data is based on head (258fca2) compared to base (47c1668).
Patch coverage: 16.00% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #106      +/-   ##
============================================
- Coverage     72.67%   71.98%   -0.69%
- Complexity      618      623       +5
============================================
  Files            97       97
  Lines          1969     1992      +23
  Branches        235      247      +12
============================================
+ Hits           1431     1434       +3
- Misses          483      491       +8
- Partials         55       67      +12

Impacted Files
Coverage Δ

...main/java/seedu/address/commons/core/Messages.java
0.00% <ø> (ø)

.../address/logic/commands/event/AddEventCommand.java
76.47% <0.00%> (-23.53%)
:arrow_down:

...address/logic/commands/event/EditEventCommand.java
90.90% <0.00%> (-5.87%)
:arrow_down:

...n/java/seedu/address/storage/JsonAdaptedEvent.java
84.09% <0.00%> (-8.41%)
:arrow_down:

.../main/java/seedu/address/model/event/DateTime.java
88.63% <27.27%> (-7.57%)
:arrow_down:

src/main/java/seedu/address/model/event/Event.java
95.00% <50.00%> (-2.37%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


adding lamda expression to filter tuple

It's possible to filter the transactionlog entries with a lambda expression: Tuple/any(t: t eq 'filter value')
The function get_transaction_log_entries accepts kwargs so we could  add a section to the log_filter list in order to generate a lambda expression for the query:
 get_transaction_log_entries(reverse=True, user='Admin', cube='plan_BudgetPlan', tuple={'105': 'eq', '405': 'eq', '41101': 'ge'})
tuple is a dict with 'filter value' as key and a operator as value.
This could be extended to a lambda all expression by defining a lambda_method parameter which defaults to "any" but can changed to "all".
What do you think?

That is a great idea. +1
On Wed, 16 Nov 2022 at 11:20, ldelberg @.***> wrote:

It's possible to filter the transactionlog entries with a lambda
expression: Tuple/any(t: t eq 'filter value')
The function get_transaction_log_entries accepts kwargs so we could add a
section to the log_filter list in order to generate a lambda expression for
the query:
get_transaction_log_entries(reverse=True, user='Admin',
cube='plan_BudgetPlan', tuple={'105': 'eq', '405': 'eq', '41101': 'ge'})
tuple is a dict with 'filter value' as key and a operator as value.
This could be extended to a lambda all expression by defining a
lambda_method parameter which defaults to "any" but can changed to "all".
What do you think?
You can view, comment on, or merge this pull request online at:
https://github.com/cubewise-code/tm1py/pull/831
Commit Summary

308dc21
https://github.com/cubewise-code/tm1py/pull/831/commits/308dc212610a6ec401d4dac71ed15961c76c2067
adding lamda expression to filter tuple

File Changes
(1 file https://github.com/cubewise-code/tm1py/pull/831/files)

M TM1py/Services/ServerService.py
https://github.com/cubewise-code/tm1py/pull/831/files#diff-34bba3918e81eead6084c8dd8ba01f378382f2a1833e38a4f712189d9801d948
(83)

Patch Links:

https://github.com/cubewise-code/tm1py/pull/831.patch
https://github.com/cubewise-code/tm1py/pull/831.diff

—
Reply to this email directly, view it on GitHub
https://github.com/cubewise-code/tm1py/pull/831, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHNEK3B73HYVXCHEJI77MY3WISYQNANCNFSM6AAAAAASCBU3C4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Nice work @ldelberg! Thanks
I added a suggestion regarding naming and parametrization.
If you have time you can also add a test case here: https://github.com/cubewise-code/tm1py/blob/2d45a621e4de9794c239dc2958a6fcad94ed464a/Tests/ServerService_test.py#L151
Otherwise, I would write a test as part of a review next week or so.

@adscheevel adding you to this conversation since you wrote the previous version of this function.
I'm curious about your thoughts on the feature.

@MariusWirtz I've added a test for this part of the function. Please check if it meets your expectations


Tests don't distinguish between ICE and expected compilation failure

test.sh currently checks for a non-null exit status code, but using the example of rust-lang/rust/issues/29191 and rust-lang/rust/issues/28971, which are now fixed, the ICEing and erroring exit code are the same.

(29191.rs and 28971.rs are included in src/)

rust-lang/rust#20847 no longer crashes but we need to add #[feature(fn_traits, ...


Considering customize Segemented-IPC shuffle to reduce unnecessary header and footer for each segment

the IPC shuffle data file structure now becomes:
ipc length 1 (u64)
ipc length uncompressed 1 (u64)
ipc content 1 (compressed)
...
ipc content N (compressed)

also we turn arrow file format into stream format (https://arrow.apache.org/docs/python/ipc.html) which does not require a seekable reader. now we can implement shuffle reading with a simple InputStream and does not need to buffer anything in memory.

done


Exception running from template combination +api +ataraxy +sqlite +example

+site +ataraxy +sqlite +example works
when I try with +api the I got the following
steps:
$ lein new duct project +api +ataraxy +sqlite +example
$ cd project
$ lein duct setup
$ lein run

Exception in thread "main" clojure.lang.ExceptionInfo: Error on key :duct.database.sql/hikaricp when building system (...)
Caused by: java.lang.IllegalArgumentException: Invalid configuration options: (:adapter)

I believe lein run requires a DATABASE_URL environment variable to be set, or for the database URL to be specified in the configuration. In development, there are default values. As I recall, the idea was that it's better to be explicit in production, and permissive in development.


Failing to build

BUG
error log
error: failed to run custom build command for `bootloader v0.10.1 (C:\Users\Sable\.cargo\registry\src\github.com-1ecc6299db9ec823\bootloader-0.10.1)`

Caused by:
  process didn't exit successfully: `C:\Users\Sable\.cargo\registry\src\github.com-1ecc6299db9ec823\bootloader-0.10.1\target\release\build\bootloader-54e4c46467713bf6\build-script-build` (exit code: 101)
  --- stderr
  thread 'main' panicked at 'unexpected llvm-size line output', build.rs:95:43
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
thread 'main' panicked at 'assertion failed: cmd.status()?.success()', src\bin\builder.rs:112:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

this is with the full file path to my kernel.
cargo builder --kernel-manifest C:\Users\Sable\rust_os\Cargo.toml --kernel-binary C:\Users\Sable\rust_os\target\x86_64-rust_os\debug

the issue for me, and im not sure if its whats causing the error, is that while building my kernel, in the kernels directory it does not produce a .bin file in my target directory anywhere. on top of that its telling me that the llvm-size line output was unexpected. If you could follow up or maybe provide some insight id be grateful

Thanks for reporting! Unfortunately the error message is not that useful because it doesn't show the actual llvm-size output. I just pushed 754af6ccdabf327ce455ffd32c1017292013ebac to the main branch to improve this. Could you try again using the main branch version? You can do it like this:
[dependencies]
bootloader = { git = "https://github.com/rust-osdev/bootloader.git" }

Thanks for reporting! Unfortunately the error message is not that useful because it doesn't show the actual llvm-size output. I just pushed 754af6c to the main branch to improve this. Could you try again using the main branch version? You can do it like this:
[dependencies]
bootloader = { git = "https://github.com/rust-osdev/bootloader.git" }

Hi! Sorry for the late reply! I will of course test it but there were other issues that I hadnt resolved. Since the updates the code on your blog no longer works and I had to make a few changes regarding struct names and referencing the variables. This was no issue of yours I merely didnt notice that there were some files I missed struct name changes in.
So it would work if I did this but thank you so much for making the effort to look into my issue even though it was just me overlooking simple things.


Interpretating text as lines in figures and tables

Thanks for this great tool!
I just started using aasvg in all my active drafts. I just wanted to share the two problems I had with aasvg interpretating text as lines in figures and tables. I don't know if there is anything to improve this. Right now the solution is to change the text to avoid problems.
~~~~~~~~~~~~~~~~~~~~~~~ aasvg
=====================================================================
 Flight                                   #1      #2      #3   Total
---------------------------------------------------------------------
 DTLS 1.3 RPK + ECDHE                    152     414     248     814
 DTLS 1.3 RPK (compressed) + ECDHE       152     382     216     750
 DTLS 1.3 Cached RPK + RPK + ECDHE       191     362     248     801
 DTLS 1.3 Cached X.509 + RPK + ECDHE     185     356     248     789
=====================================================================
~~~~~~~~~~~~~~~~~~~~~~~ aasvg

~~~~~~~~~~~~~~~~~~~~~~~ aasvg
      |              |                            |                |
      |      +-------+----------------------------+----------------+--+
      |      | session keys; in basic EAP-AKA' the keys are only      |
      |      | based on CK and IK.                                    |
      |      +-------+----------------------------+----------------+--+
      |              |                            |                |
~~~~~~~~~~~~~~~~~~~~~~~ aasvg

Fun bugs.  I have only workarounds at this stage:

use a proper table
move the text one character to the right


adding optimon analytics

Replaces #2707

Hi @bretg ,
The analytics adapter was merged into the master branch.
Can the docs also be merged into master?
Thanks,
Amit

Thanks !


http3.Server doesn't use Server.TLSConfig.GetCertificate

A http.Server can pass 2 empty strings to ListenAndServeTLS in which case the Server will expect and use either of TLSConfig.Certificates or TLSConfig.GetCertificate

Filenames containing a certificate and matching private key for the server must be provided if neither the Server's TLSConfig.Certificates nor TLSConfig.GetCertificate are populated

The http3.Server doesn't do this. It immediately tries to load files at the specified locations. Could we change that to rely on the GetCertificate supplier function and/or preloaded Certificates?

A http.Server can pass 2 empty strings to ListenAndServeTLS in which case the Server will expect and use either of TLSConfig.Certificates or TLSConfig.GetCertificate

Can you point me to the code where this occurs?
I'd be happy to review a PR, if you'd like to contribute some code for this.

This happens here. Assuming you create the http.Server with a tls.Config that sets, for example, the GetCertificate, then the server will serve the certificate returned by that function and you can leave the cert file/key empty. (I don't know how it's used further within the http/tls stack.)
I've just started looking at this quic-go, maybe :)

I've just started looking at quic-go, maybe :)

Let me know if you need any pointers on where / how to start.

@sotodel Any updates? I'm cutting a new quic-go release (that supports QUIC draft-28) later this week. Would nice to get this change in.

@marten-seemann Unfortunately, no. I won't have anything ready anytime soon.
I gave it a very brief look over and I think the change is relatively simple. The method would just look like its http.Server counterpart (really in ServeTLS)
 func (s *Server) ListenAndServeTLS(certFile, keyFile string) error {
       config := s.TLSConfig // not sure if this needs to be reset
       if config == nil {
               config = &tls.Config{}
       }       else {
               config = config.Clone()
       }

       configHasCert := len(config.Certificates) > 0 || config.GetCertificate != nil
       if !configHasCert || certFile != "" || keyFile != "" {
               var err error
               config.Certificates = make([]tls.Certificate, 1)
               config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile)
               if err != nil {
                       return err
               }
        }
        return s.serveImpl(config, nil)
}

However, when I tried to set up a sample (quic-go) server with a random self-signed certificate, the sample client (also quic-go) did not properly verify/reject it. I don't know if I configured all that correctly, it was done kind of in a rush.
I can try again at some point next week.

I can try again at some point next week.

Sounds good. We'll get it in the next release then.

I'm confused by this code snippet: https://github.com/golang/go/blob/0eb9767caad4c4a0b447824d7b27328864612d58/src/net/http/server.go#L2969-L2977
It doesn't look like config.GetCertificate is ever called. The code in the if just loads the certificate from certFile (even if both certFile and keyFile are not set.

Right, it's expected to be set before calling the method
// Files containing a certificate and matching private key for the
// server must be provided if neither the Server's
// TLSConfig.Certificates nor TLSConfig.GetCertificate are populated.

During the server TLS handshake, this unexported getCertificate method is called to select a certificate by calling tls.GetCertificate or by finding an appropriate one in tls.Certificates.
tls.GetCertificate is useful if your server has custom rules for serving certificates based on ClientHelloInfo information like the SNI or the signature schemes.

However, when I tried to set up a sample (quic-go) server with a random self-signed certificate, the sample client (also quic-go) did not properly verify/reject it. I don't know if I configured all that correctly, it was done kind of in a rush.

Yeah I was definitely doing things incorrectly. I figured it out last night and it works nicely. I believe the ListenAndServeTLS snippet in my comment here works. I'm using a test server like
package main

import (
	"crypto/tls"
	"errors"
	"flag"
	"log"
	"net/http"
	"os"
	"os/signal"
	"path/filepath"
	"strings"
	"sync"
	"syscall"
	"github.com/lucas-clemente/quic-go"
	"github.com/lucas-clemente/quic-go/http3"
)

func main() {
	listenAddress := flag.String("listen", ":4443", "Listen address. Default: ':4443'")
	flag.Parse()

	domainNamesToCertificates := make(map[string]tls.Certificate)
	for _, fileLocation := range flag.Args() {
		domainName := filepath.Base(fileLocation)
		certificate, err := tls.LoadX509KeyPair(fileLocation, fileLocation)
		if err != nil {
			log.Fatalf("Failed to parse certificate from '%s': %s", fileLocation, err)
		}
		domainNamesToCertificates[domainName] = certificate
	}
	getCertificateFromSNI := func(clientHello *tls.ClientHelloInfo) (*tls.Certificate, error) {
		if certificate, ok := domainNamesToCertificates[clientHello.ServerName]; ok {
			return &certificate, nil
		}
		return nil, errors.New("no certificate matching the given server name")
	}
	tlsConfig := &tls.Config{
		GetCertificate: getCertificateFromSNI,
	}
	mux := http.NewServeMux()
	mux.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) {
		w.WriteHeader(http.StatusNoContent)
	})
	quicConf := &quic.Config{}
	quicServer := http3.Server{
		Server:     &http.Server{TLSConfig: tlsConfig, Handler: mux, Addr: *listenAddress},
		QuicConfig: quicConf,
	}

	exitDone := &sync.WaitGroup{}
	exitDone.Add(1)

	go func() {
		sigint := make(chan os.Signal, 1)
		signal.Notify(sigint, syscall.SIGINT, syscall.SIGQUIT)
		_ = <-sigint

		if err := quicServer.Close(); err != nil {
			log.Printf("Failed to shutdown QUIC HTTP server: %v", err)
		}
		exitDone.Done()
	}()
	if err := quicServer.ListenAndServeTLS("", ""); err != http.ErrServerClosed {
		if !strings.Contains(err.Error(), "server closed") {
			log.Fatal("Error starting QUIC HTTP server: ", err)
		}
	}
	exitDone.Wait()
}

With the two empty strings passed and because tls.Config.GetCertificate is set, the quic http3 Server will defer certificate selection to that getCertificateFromSNI function (which uses SNI).
However, I hadn't actually noticed the ListenAndServe method in http3/server.go. I overlooked it because of the name missing TLS. A method with the same name in http.Server doesn't configure TLS so that had me confused (it's not possible afaik to use HTTP3 without TLS). The method http3.Server.ListenAndServer method doesn't do anything to the underlying tls.Config, it uses it as given. In that sense, if GetCertificate is set, it'll use it.
You don't really need the ListenAndServerTLS version I'm proposing, unless you want to keep some parity with the standard http.Server API.

FYI: This is needed in order to use the autocert module to automatically provision LetsEncrypt certificates.
https://pkg.go.dev/golang.org/x/crypto/acme/autocert

Any update on this?

I think this has been resolved a long time ago, and Caddy is actually using it.


More support for Norwegian keyboards.

Improve ISO Keyboard Layout

Make the following keys give the value that is printed on them:

Curly brackets
At sign fix
Star sign fix
Euro sign fix

Thanks!


Better GUI design when editing tags (applied changes button)

Is your feature request related to a problem? Please describe.
When I add tags I am confused how to confirm the change. For me, the non-intuitive solution is to use the back arrow in the upper left corner, then the changes are made.
Describe the solution you'd like
As in the attached screenshot, I would find a dedicated confirmation button (red checkmark) useful, as there is already an undo button. The back arrow would require a confirmation if the changes should be applied or discarded.
Describe alternatives you've considered
I can live well with the current state, as I now know how it works. I just don't think it's solved in a comprehensible way, unlike the rest of the app. Thanks a lot for Aves again!
Additional context

True, it's a bit awkward ^^


Port to org and core-maintainer switch

I'm sorry for delayed response for issues/PR. I'm busy for other work and no times for see them now. I'm going to delegate core-maintainer to @uki00a soon and repository will be ported to somewhere. Thanks.

Done. Now deno-redis is part of denolib!

Thanks very much for getting this work off to a great start, @keroxp!! 🕺🏿

P.S. deno-redis is now part of denodrivers and renamed to redis!


Intro text

Let's add some

@rultor release, tag is 0.2.1

@rultor release, tag is 0.2.1

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.2.1

@yegor256 Done! FYI, the full log is here (took me 3min)

Oops! Job gh:yegor256/threecopies#6 was not in scope


First Party Cookies

From @mikewest : https://lists.w3.org/Archives/Public/www-tag/2016Mar/0008.html

Hello, lovely TAG enthusiasts.
The last few times I've visited with y'all, we've chatted a bit about upcoming changes to cookies. I'd like to draw your attention to one in particular, as Alex suggested that it might be relevant to some discussions you're having regarding the same-origin policy.
We're planning on shipping a SameSite attribute (née "First-Party-Only" (née "First-Party")) in Chrome ~51 that aims to address CSRF and information leakage attacks. I'm pretty excited about it, and folks at Mozilla seem equally interested:
Spec: https://tools.ietf.org/html/draft-west-first-party-cookies
Intent to Ship: https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/csCtW3M3-wg
Feedback from y'all on this feature or others that you might be interested in seeing would be totally welcome.
Thanks!

s/First Party Cookies/The 'SameSite' cookie attribute/ probably makes things clearer. :)

Adopted by HTTP WG.


jce-unlimited-strength-policy should install the policy for the JRE

Description of issue
Oracle Java is installed in two locations depending on if you choose to install the JRE or JDK.

JRE: /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/
JDK: /Library/Java/JavaVirtualMachines/jdk1.x.x_xxx.jdk/Contents/Home/

If you install the JDK, it will also install the JRE at the JRE location list above.

The JRE allows you to double-click to open jars from the Finder and run Java in the browser, but the JRE does not come with the java binary. If you want to run any of the typical Java commands, you must install the JDK.
When you run brew cask install jce-unlimited-strength-policy, the casks only installs the unlimited policy files for running the Java from the command line. It does not install the policy for opening jars from the Finder or running Java in the browser and I believe it should.

All Cask does is install the program as if you had downloaded it yourself - do you also have this issue if you install them manually?

This Cask is a little different than others, because the JCE is just two files you copy to arbitrary directories and a readme that says...
The standard place for JCE jurisdiction policy JAR files is:
        <java-home>/lib/security           [Unix]
        <java-home>\lib\security           [Windows]

So the question is, what is your java-home if you are installing manually. Well, it depends (see https://java.com/en/download/faq/yosemite_java.xml). On recent versions of macOS (10.10 and greater)...

If you only have the JRE, you'd likely install the files at /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/. The Cask does not do that and I think it should.
If you have the JDK (and thus the JRE), you'd likely install the files at /Library/Java/JavaVirtualMachines/jdk1.x.x_xxx.jdk/Contents/Home/ and stop there. But you'd get different behavior if you ran apps via double-click vs via the command line. You'd probably then go poking around the web and realize you should also install the JCE files in the JRE location. The Cask only installs it in the JDE location, and I'm filing this request because I think it should also install it in the JRE location.