Email OTP login with Okta mobile swift ‘OktaDirectAuth’

Describe the bug?
I'm working with the OktaDirectAuth library… I was wondering if this library supports entering en email opt code to log in ‘natively’ (without WebAuthenticationUI).
It looks like email does not count as OTP (and probably neither SMS), an email OTP never works but if you try Google authenticator or Okta verify, they work without any issues…
What is expected to happen?
Using OktaDirectAuth:
When getting an OTP via email (via factors/verify API), you should be able to log in.
What is the actual behavior?
I just tried using the Okta Authentication API to send a OTP via email ({{url}}/api/v1/users/{{userId}}/factors/{{factorId}}/verify). I’m getting the code but when I try to use that code on the Okta-mobile-swift OktaDirectAuth app it says the OTP is incorrect

Reproduction Steps?

Run the DirectAuthentication demo from the samples
Send a OTP code via email using the Okta factors API: ({{url}}/api/v1/users/{{userId}}/factors/{{factorId}}/verify)
In the app, Select 'One-time-code'
Check you email and get the code
Click the Sign-In button
You get an error alert: 'otp' provided is either empty or incorrect

Additional Information?
No response
SDK Version(s)
1.7.1
Build Information
No response

@cesmejia In this case the otp option refers to a time-based OTP code used by various authenticator apps (see the OTP primary factor SDK docs and the underlying server API documentation).
For SMS verification you'd want to look at the OOB (aka "out-of-band") authentication factor, using the SMS OOB Channel.
That should do what you want. If you want to test the workflow in your own environment, you can try the DirectAuth sample application.

Thanks a lot for your answer Alex!
What about email? Is it also oob?
On Thu 11 Jul 2024 at 4:50 p.m. Alex Nachbaur @.***>
wrote:

@cesmejia https://github.com/cesmejia In this case the otp option
refers to a time-based OTP code used by various authenticator apps (see the OTP
primary factor SDK docs
https://okta.github.io/okta-mobile-swift/development/oktadirectauth/documentation/oktadirectauth/directauthenticationflow/primaryfactor/otp(code:)
and the underlying server API documentation
https://developer.okta.com/docs/guides/configure-direct-auth-grants/aotp/main/
).
For SMS verification you'd want to look at the OOB (aka "out-of-band")
authentication factor
https://okta.github.io/okta-mobile-swift/development/oktadirectauth/documentation/oktadirectauth/directauthenticationflow/primaryfactor/oob(channel:),
using the SMS OOB Channel
https://okta.github.io/okta-mobile-swift/development/oktadirectauth/documentation/oktadirectauth/directauthenticationflow/oobchannel/sms
.
That should do what you want. If you want to test the workflow in your own
environment, you can try the DirectAuth sample application
https://github.com/okta/okta-mobile-swift/tree/master/Samples/DirectAuthSignIn
.
—
Reply to this email directly, view it on GitHub
https://github.com/okta/okta-mobile-swift/issues/186#issuecomment-2224080937,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF53Y5AX7N6ZUBBZPSGKJCLZL4DZ5AVCNFSM6AAAAABGAZIVA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMRUGA4DAOJTG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

@cesmejia Email would be considered an OOB factor, similar to Phone, but it is not currently supported by the Direct Auth server APIs.  As soon as support is introduced on the server however, those capabilities will be exposed in this SDK at that time.
Please feel free to "watch" this project to be notified of upcoming releases.


Facing issue (Unexpected token B in JSON at position 0)

Hi @mikepenz ,
Thanks for your plugin.  😄
Currently I am facing one issue with cypress generated XML results with mocha-junit-reporter. I am trying to use the test merge option in the repo and below is the issue. Please find the attached output of GHA , cyress.json and YML file.
- Cypress.json file :

- Below is the output of the GHA console :

- GHA yml file :

Can you please help here?
Thanks in Advance.

Could you please update to the latest v2, we improved logging significantly so it should help to identify the issue.
Based on the log it seems a invalid result was returned from the server, causing this failure.

@mikepenz
Thanks for quick reply, I tried the same with version 2 the error I get is surprisingly different this time
1. GHA file

2. Output on GHA resulting in failed run :

Please advise, Thanks a lot in advance.
Regards,
PD

Based on the screenshot it looks like the password is not provided. If you look at the with list, there is no entry for password showing up.
Please make sure you provide it, and the SECRET is also properly specified.

In the old runs this was never the issue, because if you see the comment with which I created an issue with @v1.1.0,  Connect to XRAY step was successful not sure why is this failing in v2
Does this not look like error from plugin side in v2?
Regards,
PD

@pdange v1 did not yet verify the input to be valid. and lacked the verification for this value to be present.
If you see. v2 checks the password to be filled here: https://github.com/mikepenz/xray-action/blob/main/src/main.ts#L38-L42 before anything else happens.

@mikepenz
Ah sure, I get this now, I will check with the team for the secrets on Github. Thanks, will get back to you!
Regards,
PD

Hi @mikepenz ,
You were right, the password value is missing from git secrets, Is is possible to use an API Token from JIRA raw password instead?
Regards,
PD

@pdange according to the XRAY server/DC it requires username and password as basic authentication:
https://docs.getxray.app/display/XRAY/v2.0
You can see how it is used inside the action here for example here: https://github.com/mikepenz/xray-action/blob/main/src/xray-server.ts#L107
You could try if the token is accepted instead of the password, but I can sadly only refer to the xray documentation in this case.
Maybe @bitcoder would be able to chime in on this question?

Jira datacenter 8.14 added the support for personal access tokens.
You need to use a different authentication  header because of the token. No username is needed. Please check:
https://docs.getxray.app/display/XRAY/REST+API

Thank you @bitcoder will have a look.
I believe can can move this new feature request in a new ticket, as the original issue should be answered @pdange ?

Yes please @mikepenz, till then I can check the one @bitcoder highlighted, thanks for that. 💯
As even after adding the password in the Git Action I am getting an error :

Yes may be it can be closed off and moved to a new feature. Is there an ETA as to when the feature will be availble with token/Authentication token used?
Regards,
PD

@pdange that's interesting. wondering why it would return this note instead of the expected json result. Especially if it is just a deprecation warning.
You should be able to use the API-Token from JIRA instead of the password: https://support.atlassian.com/atlassian-account/docs/manage-api-tokens-for-your-atlassian-account/
No specific ETA, but I'll try to come to it sometimes this week

@mikepenz @bitcoder
Hi,
Just to update you here on the progress, I have tried certain combinations of using the API token  #but nothing seems to work with /rest/raven/2.0/import/execution/junit

Have tried using username:api_token with curl command below

Error pops up as 404 null for uri
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><status><status-code>404</status-code><message>null for uri: https://${JIRA_DOMAIN}/rest/api/3/projects?projectKey=ABC</message></status>%

Have tried using header Authorization : Bearer ${encodedToken} The encodedToken here is generated by encoding the userName:api_token Same 404 error is returned for this.

Can you please check if this is the case with you as well while importing Junit Results to JIRA? via curl command?

Opened a PR for token based authentication: https://github.com/mikepenz/xray-action/pull/340
Would be great to see if that works. (You can reference the SHA-1 of that branch in your GitHub Action and it will use that exact state)
In regards to your above note, I don't think you will need to base64 encode the token if you use the Bearer.

The bearer doesn't need to be base64  encoded

@bitcoder : The JIRA official page says so https://developer.atlassian.com/cloud/confluence/basic-auth-for-rest-apis/
I am checking the URL /rest/raven/2.0/import/execution/junit gives 404 even after encoding the token with the steps followed in above URL.
@mikepenz : Thanks for opening up the issue 👍🏾
Regards,
PD

@pdange you can see here a code snippet in python using it. There are other code snippets , including for JS @mikepenz
https://github.com/Xray-App/xray-code-snippets/blob/main/use_cases/import_automation_results/python/import_results_robot_standard.py

Hi @mikepenz : Hard luck!! Still gives an error.

Thanks @bitcoder, will try an python code you sent.
Thanks.
PD

The screenshot would indicate that you did not provide the token, but instead configured username and password?
If you have the token for server/DC then it would expect it as xrayToken: https://github.com/mikepenz/xray-action/pull/340/files#diff-1243c5424efaaa19bd8e813c5e6f6da46316e63761421b3e5f5c8ced9a36e6b6R21-R23
And instead remove username and password please
Ultimately that's the server response here: https://github.com/mikepenz/xray-action/blob/main/src/utils.ts#L93-L98

Okay awesome, looks like the authentication error is gone, but still it is unable to parse the junit xml file, facing the same issue in parsing the file.

At this point I am wondering, maybe the installation of xray (server/DC) is outdated and does not yet have these endpoints?
Could you also please verify that this is a server/DC installation and not a normal jira cloud environment?

Hi @mikepenz  How are you keeping?
Apologies for the delay here, recently found out the installation is XRay-Cloud. So was able to get the client ID and Client Secret.  But I was wondering is it possible to change the URL here in Xray-Cloud.ts
I have got it working via the curl command in local, but my URL is different than the one mentioned above. So is it possible to have the baseURL a parameter? when we use Xray-cloud.
Note : I haven't tried using this in a pipeline, there are few steps to get those client ID and secret to be added to Github, so that is pending.

Hi @pdange , the Xray Cloud API endpoint is non-customizable; it's vendor specific and always the same

@pdange you have configured xrayCloud to be false in the above screenshot.
Are you using cloud, or are you using server/DC?

@mikepenz @bitcoder , I have the curl command working with the username and password and my url as https://xray.cloud.xpand-it.com But it is throwing error when I use the plugin on Github Action. Please check below

Regards,
PD

Given the screenshot it looks like there is no testExecJson and testExecKey
So it will go this path: https://github.com/mikepenz/xray-action/blob/b83be0289cf94bf57f06622d8e9e06de777468bc/src/xray-cloud.ts#L132
The error is the one returned from the xray API.
Looks like maybe username and password are not correct.
Not sure which other scenarios can lead to that message from the official xray API


Allow to remove cluster

Check and document how to remove clustering features with Seapath-Debian.

Unless I'm missing something, Seapath without clustering is basically "just" using libvirt on a single deployed node.
Basically you need to:

deploy one node with build_debian_iso
setup basic networking (with networkd preferably)
use virsh to manage a vm (disk is qcow2 file)

Closing this PR as done.
To deploy SEAPATH Debian on one machine only (without clustering feature), the standalone_machine field must be used in the inventory.
One example is given here : https://github.com/seapath/ansible/blob/debian-main/inventories/seapath_standalone_definition_example.yml


escript provider

The test needs to actually test if the generated escript runs!
I will squash the commits once you're fine with this.

@fenollp looks like it needs a rebase against master. And you can squash it into 1 now.

Done


Date in calendar picker not rendering correctly on chrome.

Hi, I have this input:
<input id="date-from" type="text" data-role="calendarpicker" data-clear-button="true" data-locale="pl-PL" data-format="%d-%m-%Y" data-value="01-03-2018" value="01-03-2018">
When page is opened in Firefox date looks ok: 01-03-2018
When page is opened in Vivaldi or Chromium month and date are changed: 03-01-2018
Metro UI ver <IP_ADDRESS>6

http://www.ecma-international.org/ecma-262/5.1/#sec-<IP_ADDRESS>

Read about dates in https://metroui.org.ua/calendar.html

OK, so I found out that value must come in this format: 2018/03/01, not with "-". Data-format is changing than to 01-03-2018 and now it is rendered correctly everywhere. Sorry for that.


Doc updates

Seems I can't merge--not sure why.

May need to be admin on the repo for that - I've merged and added you as admin for future needs


The three points on the upper left corner of the mobile endpoint did not respond. This is a small bug

The three points on the upper left corner of the mobile endpoint did not respond. This is a small bug

Addressed by #34


New Particle API that is easier to use

The current particle system doesn't really work, especially with the AreaEffectCloud so this fixes that and just makes it easier to work with particles.

I like the concept, but I don’t know if it’s so good to delete the autogenerated code. Maybe it’s possible to extend the autogenerator code for particles to say what arguments they can have passed with. Also it would be nice when in ParticleManager.createParticle() with the custom Map every attribute, that should be in there for the type, but isn’t in there gets added with the default. So for example you only set TO_RED and the rest that it needs fills from the default so here in the examples it sets TO_GREEN and TO_BLUE to 0. then the whole if-statements in the write function would execute when only one attribute is passed with.


As a dev team, we want to integrate a database and implement CRUD operations.

Epic Issue
Context
The FertiScan application currently lacks integration with a database, limiting its ability to manage data efficiently. We need to establish a robust database integration and implement CRUD (Create, Read, Update, Delete) operations across the frontend, backend, and datastore layers. This will improve data management, enhance user experience, and provide a scalable solution for future development.
Desired Outcomes:
Database Integration

[x] Set up a database instance.
[x] Ensure the database schema is well-defined and documented.

Datastore Layer

[x] Ensure that the datastore layer is correctly implemented to interact with the database.

Backend Implementation

[x] #89
[x] Ensure proper error handling and validation in the API routes.
[x] Implement unit and integration tests to validate CRUD operations.

Frontend Implementation

[x] Develop or update frontend components to interact with the new CRUD API routes.
[x] Add a new page to display all the currently stored form. (Issue 176 frontend)

Extra Notes
For the CRUD operations:

Create
Retrieve
Update

The backend offers a dedicated endpoint for managing user updates incrementally until final confirmation.
This endpoint should incorporate a mechanism to indicate to the database when an update is definitive.

Discard

The backend supplies an endpoint to discard unconfirmed analyses.
Upon activation, this endpoint is responsible for erasing any temporary data related to the analysis session from all involved services/databases, ensuring no other sessions are affected.

Child Issues
Datastore & Database

[x] ai-cfia/nachet-datastore/issues/62
[x] https://github.com/ai-cfia/nachet-datastore/issues/77
[x] https://github.com/ai-cfia/nachet-datastore/issues/90
[x] https://github.com/ai-cfia/ailab-datastore/issues/96

Backend

[x] https://github.com/ai-cfia/fertiscan-backend/pull/85
[x] https://github.com/ai-cfia/fertiscan-backend/issues/89

Frontend

[x] https://github.com/ai-cfia/fertiscan-frontend/issues/175
[x] https://github.com/ai-cfia/fertiscan-frontend/issues/53
[x] https://github.com/ai-cfia/fertiscan-frontend/issues/176
[x] https://github.com/ai-cfia/fertiscan-frontend/issues/178

Cross Layer Communication
sequenceDiagram
    actor User
    participant Frontend
    participant Backend
    participant Pipeline
    participant Datastore
    participant BlobStorage
    participant PostgresDB

    User ->> Frontend: Upload Fertilizer Label Pictures
    User ->> Frontend: Click on Analyse
    Frontend ->> Backend: POST /analyse (with pictures)
    activate Backend
    Backend ->> Pipeline: Invoke analyse function (with images)
    activate Pipeline
    Pipeline -->> Backend: Return Fertilizer Form
    deactivate Pipeline
    Backend -->> Frontend: Return Fertilizer Form
    deactivate Backend
    Frontend ->> Backend: POST /inspections (with form, images, and user ID)
    activate Backend
    Backend ->> Datastore: Get user blob container client
    Backend ->> Datastore:  Register_analysis(cursor,container_client,user_id,pictures,form.json)
    activate Datastore
    Datastore->> PostgresDB: new_picture_set(user_id)
    PostgresDB--> Datastore: picture_set_id
    Datastore->>BlobStorage: new_folder(picture_set_id)
    Datastore->> Datastore: upload_pictures(user_id,pictures,picture_set_id,container_client)
    Datastore->> PostgresDB: register all pictures
    PostgresDB --> Datastore: picture_ids
    Datastore->> BlobStorage: container_client.upload_pictures(pictures,picture_set_id)
    Datastore->> Datastore: formatted_form = build_inspection_import(form)
    Datastore->> PostgresDB: new_inspection(user_id,picture_set_id,formatted_form.json)
    PostgresDB --> Datastore: formatted_form_with_ids.json
    Datastore --> Backend: formatted_form_with_ids.json
    deactivate Datastore
    Backend -->> Frontend: Return inspection JSON
    deactivate Backend
    Frontend ->> User: Display formatted form data
    User ->> Frontend: Make changes to form
    User ->> Frontend: Check confirmation checkbox
    User ->> Frontend: Click Send
    Frontend ->> Backend: PUT /inspections (with verified form, form ID, and user ID)
    activate Backend
    Backend ->> Datastore: Call update_inspection function
    activate Datastore
    Datastore ->> Datastore: create Inspection object
    Datastore ->> PostgresDB: update_inspection
    activate PostgresDB
    PostgresDB -->> Datastore: Return updated Inspection record
    deactivate PostgresDB
    Datastore -->> Backend: Return updated Inspection record
    deactivate Datastore
    Backend -->> Frontend: Return updated inspection JSON
    deactivate Backend
    Frontend ->> User: Display updated inspection data

Closing this as complete.


:bug: Request DOI metadata as CSL-JSON after BibTeX

The bug in #1072 appears to be caused by the key passed to citation-js:
@article{EFSA Panel on Nutrition, Novel Foods and Food Allergens (NDA)_Turck_Castenmiller_de Henauw_Hirsch‐Ernst_Kearney_Knutsen_Maciuk_Mangelsdorf_McArdle_et al._2019,
	title        = {Dietary reference values for chloride},
	author       = {EFSA Panel on Nutrition, Novel Foods and Food Allergens (NDA) and Turck, Dominique and Castenmiller, Jacqueline and de Henauw, Stefaan and Hirsch‐Ernst, Karen‐Ildico and Kearney, John and Knutsen, Helle Katrine and Maciuk, Alexandre and Mangelsdorf, Inge and McArdle, Harry J and Pelaez, Carmen and Pentieva, Kristina and Siani, Alfonso and Thies, Frank and Tsabouri, Sophia and Vinceti, Marco and Aggett, Peter and Fairweather‐Tait, Susan and Martin, Ambroise and Przyrembel, Hildegard and de Sesmaisons‐Lecarré, Agnès and Naska, Androniki},
	year         = 2019,
	month        = {Sep},
	journal      = {EFSA Journal},
	volume       = 17,
	number       = 9,
	doi          = {10.2903/j.efsa.2019.5779},
	issn         = {18314732, 18314732},
	url          = {https://data.europa.eu/doi/10.2903/j.efsa.2019.5779},
	place        = {IT},
	abstractnote = {This publication is linked to the following EFSA Supporting Publications articles: http://onlinelibrary.wiley.com/doi/10.2903/sp.efsa.2019.EN-1679/full, http://onlinelibrary.wiley.com/doi/10.2903/sp.efsa.2017.e15121/full This publication is linked to the following EFSA Journal article: http://onlinelibrary.wiley.com/doi/10.2903/j.efsa.2019.5778/full}
}

This is not valid BibTeX, and therefore does not parse. One solution is to request CSL-JSON via content negotiation. This trades one class of bugs (invalid BibTeX markup) for another (invalid CSL structures). I think this is a better part of the problem space to find oneself in; we can more easily attempt to fix-up bad CSL than we can bad BibTeX.
Indeed, it looks like using CSL-JSON from content-negotiation isn't foolproof either; some DOIs like The Higgs Boson Paper report a name instead of a literal, or define a type of journal-article instead of article-journal. It looks like crossref is returning "extended citeproc": CrossRef/rest-api-doc#580 rather than true CSL-JSON.
Knowing that, we can probably do a reasonable job of coercing the result to the CSL-JSON that citation-js expects, but for now this PR does the minimum from testing the original DOI and the Higg's DOI.
I'm hoping that this change is more robust than the BibTeX approach, but we will need to try more DOIs than I've thrown at it.
Fixes #1072

Good point! I'll rebase on main with the recommended changes.

Works well in web mode, cache seems good and doesn't conflict. From my testing there is a current bug in writing out the bibtex: writeBibtexFromCitationRenderers errors out when there is a CSL input here.

I think this could/should be isolated into a test around falling back to CSL and then writing bibtex for the DOI of 10.2903/j.efsa.2019.5779.

Good spot on the BibTeX extraction; I'd assumed that we were using citation-js for this and hadn't noticed that instead we were pulling from the graph.
This PR now uses citation-js to build a BibTeX output. I'm assuming that we don't need to do anything to tweak the citation key, as it should match the id that citation-js reports (I think). We might need to be careful to ensure this.
In general, I think this PR represents a hardening of our BibTeX handling in addition to now providing a fallback for bad-BibTeX responses; we don't rely on implementation details from citation-js to store the original BibTeX, for example.
There may be some non-round-tripping of certain BibTeX entries, but I think that should be very uncommon; BibTeX is a core plugin for citation-js.

@fwkoch

So - in parseBibTeX, Cite.async gives us bibtex ->CSL, but here, it would just give us CSL -> CSL so maybe unnecessary and just "cleaning" is all that's required?
If all that is true, then I guess the only reason to use Cite.async is if doi.org gives an invalid CSL response...? Not totally out of the question I suppose... but then Cite.async is another mostly unnecessary API request?
Any other nuance to this decision?

Yes, even the BibTeX method doesn't need to be async. I suppose I was anticipating that we might want to support async resolvers in future. I'll move them to sync for now.

One more bug I found on tex exports:

cite nodes resolved from CSL-JSON were not getting a label. Fixed here: https://github.com/executablebooks/mystmd/pull/1073/commits/ba9d0b925dfad749bd7f657c2a85653bb01e1b68


Bug: Vanilla ocean monuments spawn in the default vanilla seed location, overriding custom terrain.

RE: https://github.com/PaperMC/Paper/issues/807

Are you experiencing this when using an OTG world with multiverse? As this doesn't happen under normal circumstances on Spigot.

I'm not sure what you did there but generated chunks should never be re-generated or populated twice. I've not been able to reproduce this in any way.

Actually, the ocean monuments are the only structures that vanilla
Minecraft will "retro-generate" into already generated chunks.
On 1 Aug 2017 11:25 a.m., "PG85"<EMAIL_ADDRESS>wrote:

I'm not sure what you did there but generated chunks should never be
re-generated or populated twice. I've not been able to reproduce this in
any way.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/PG85/OpenTerrainGenerator/issues/48#issuecomment-319332001,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AJBBgLzjdz0J8vJS0prAPnsKk6UdCIsYks5sTv0xgaJpZM4OnPNM
.

Ok thanks, I stand corrected. This appears to be a very specific bug with multiverse, unfortunately the to-do list is pretty full atm. May take a while before I have time to look at this (unless a lot more people start reporting it).

I had the monuments retro-regenerate on top of the world after uninstalling multiverse once the world was pre-generated in full. Even pre-generated a world without multiverse. So I assume it is just the 3 minute vanilla chunk inhibited timer it checks for before it generates everywhere.

This doesn't happen with standard Spigot, so seems to be an issue on Paper Spigot's end.

Closing this as an old paper-spigot issue, feel free to re-open if it's still happening.


Refactor alpine stage to be built as part of LinuxServerDependencies pipeline

With https://github.com/microsoft/vscode/pull/147676 , product-build-linux-server.yml has the necessary bits to build native modules with alpine container. product-build-alpine.yml can be extracted into product-build-linux-server.yml and product-build-linux-client.yml which would allow for lesser entry points.

How much would this impact the build time? I ask because product-build-alpine.yml is usually one of the first builds to be done so it doesn't impact the build time at all (just the compute amount I guess).
By moving what it is doing into these other places, I wonder if that will make the overall time higher which is something we try to avoid.
The added complexity may be worth the perf.
cc @joaomoreno

LinuxServerDependencies happens in parallel to the initial compile stage so this is before the current Alpine stage that happens as part of Linux stage, this would not add negatively to the perf but rather keep the same time since we are moving one parallel run from a stage to another earlier stage that will also run it in parallel. Additionally this would make one less config file. I suggest we make a branch and get actual numbers with the change to understand the impact better here.


ipsec: Fix incorrect parsing of SPI from mark

Commit b2331289c70 introduced helpers to set and retrieve the SPI from the XFRM mark. The SPI number is encoded into 4 bits at positions 12-15 (LSB first).
However, function ipSecXfrmMarkGetSPI extracts 8 bits at positions 12-19 instead of 4. This pull request fixes it. This bug would only have an impact if some other software used the 4 upper bug; no such case is currently known.
Fixes: https://github.com/cilium/cilium/pull/19932.

/test

The K8sVerifier test in k8s-1.16-kernel-4.9 failed with known flake https://github.com/cilium/cilium/issues/20288. This pull request doesn't affect the datapath, so there's no need to rerun. Marking ready to merge.


Proposal for type validation test runner

relates to #661
This PR include small code snippet to check basic type definitions as discussed in issue.
There'll be chances of improvement to have additional type detection for verbose output, would like to consider this as starting point.
No actual tests & CI integration included yet.
Output example

cc @robwormald , would like to ask suggestions for output format or any other.

Small update suggestion from @staltz to use console.error with minor output changes.

This is interesting. How long does it take to run, on average? (I'll pull it down sometime soon and give it a try, too)

What I did was just small code snippet does not reflect real world cases (having lot of files, or codes) though, it took about a second. For comparison reference, on same system typescript build takes around 14 sec, unit test takes around 2.3 second.

@trxcllnt ... what are your thoughts?

Marked this as blocked while exploring feasibility of migrating unit test cases to typescript based.

@kwonoj I'm going to close this for now since discussion here is dead. We can open a new issue for it to create more discussion, or we can discuss off-line and open an issue when we have some plans outlined.

Agreed, thanks.


Please add an example

[Enter feedback here]
PS XYZ:> {{ Add example code here }} ????
Please add a real example
Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 2e3e8e8a-acd2-9be1-cb89-3a3cdcfd7512
Version Independent ID: 07321564-9702-7a69-279f-29ee3ba68959
Content: New-CMAdministrativeUserPermission (ConfigurationManager) - Configuration Manager
Content Source: sccm-ps/ConfigurationManager/New-CMAdministrativeUserPermission.md
Product: configuration-manager
Technology: configmgr-other
GitHub Login: @aczechowski
Microsoft Alias: aaroncz

Hi @Anoni-Mouse thanks for the feedback. We have limited resources to maintain the over 1100 cmdlet articles for this module (along with the 3200 articles in ConfigMgr core docs). Starting with version 2002, the article for any new cmdlet should be mostly complete. We have an internal tracking item to go back and pick up older cmdlet articles when we have time, but it's honestly not our highest priority due to relatively low page views. When we do have time to work on that, we'll prioritize the list by article popularity (page views).


fix for strict mode

#565
I had fixed this already in #514 , but it was overwritten by #554
Properties defined via Object.defineProperty() are immutable by default, so line 21116 doesn't actually change the value of AWS.apiLoader.services['sts']['2011-06-15'] set on line 2881. This line is pointless, so I commented it out to meet strict mode guidelines.
I also confirmed that L2881 executes before L21116.

edit 2022-07-18
Fixed error in amazon-connect-websocket-manager.js
strict mode doesn't allow for implicit setting of window variables, changed function(e) to function(e=window) to resolve issue.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Is there an ETA on merging this PR? Not supporting strict mode is really hurting projects on Salesforce!
PS: Thanks @stackasaur for helping out here! :)

@stackasaur - did you check if it can be embedded in Aura Components/LWCs?

@kaushalgautam, this version should work in an LWC/Aura without rolling back to API 39
While waiting for the merge, You can use my forked repository, run the build script, and use that file.
**I did NOT add the updated output file to my commit because there were differences (like 200 deletions) in my build file that didn't match the release that I couldn't account for.

@erikohlin12
I just made an update I think will resolve your issue now.

Fixed error in amazon-connect-websocket-manager.js,
strict mode doesn't allow for implicit setting of window variables, changed function(e) to function(e=window)

In case this doesn't work for you, what framework are you using this library in?

@stackasaur that fixed my issue, much appreciated!

Closing as we have fixed this issue in Streams 2.3.0.


Project Status

Hi Iain!
Very cool-looking tool.  I have the CLI running locally, and the social media checks work great.  I am having a bit of trouble getting the Schemas working, but that is probably me.
My question is what is the status of this project moving forward?  It looks like there hasn't been any contribution in about a year.  I ask because what a year it has been! And completely understand the nature of open source...  I'm considering adding it to my team's CI process.
Thanks for your time and this great tool!
Jim

Hi Jim! Good question.
I still use it but am aware there are some shortcomings (e.g. lacking support for more complex data structures, which are captured in issues / skipped tests) as well as things I'd like to add (e.g. more schemas, additional html/js/css markup checks, social markup checks, AMP checks, etc).
I have no immediate plans to update it but I've been considering revisiting it recently.
Happy to take feature requests or issue reports!
Helpful and intersting to learn how folks are using things! :-)

Hi Iain!
Thanks for the update.  I am really liking the meta tags checks.  I haven't had much time to dig into setting up the schemas, but look forward to it.
I am working to get the checks into our CircleCI orb.  For automated testing, we build multidev environments on Pull Request using Pantheon or Tugboat.qa.  We can then run tests like Lighthouse, Pa11y, Backstop, then it posts back to the PR as comments.
I'll comment back when I get it published.

Hi,
I just wanted to follow up. As stated above, we were able to run the SDTT inside a CircleCi orb, and test on multidev environments that are created on each pull request.
You can see more here.
https://circleci.com/developer/orbs/orb/kanopi/ci-tools#usage-sdtt-test
Thanks again for such a unique and great tool!


Cannot get access to fison67/mi_connector repo for DTH

I cannot seem to get access to the repo for device handlers.  I will try to add them manually.  Thank you.

"You don't have access to fison67/mi_connector"

Sorry, I have no idea about it.


Pay attention to duplicate IDs

In files like NstpData are multiple items with the same ID e.g. in NStpData00 are three items with the ID 0.
At the moment they get overwritten with one Image.
That's probably not a problem, because the game presumably can't access all of these items but it should still be improved.

ff3c5d74c74dae5f4b85eee7b74f59672a26110a


Just not enough detail on Command

Hi I am struggling to make a Command and CommandParameter work in a particular example. I come here to get detailed information on how to use the CommandParameter in particular. All I get from the phone dialer example is that I can set
CommandParameter="1" and in my MVVM I can pick it up as a string.
Yet there is no more detail on the complexities of this. For instance in a CollectionView I am trying to bind to the underling object
e.g.
SelectionChangedCommand="{Binding SelectionChangedCommand}"
SelectionChangedCommandParameter="{Binding .}"
and in code
public ICommand SelectionChangedCommand => new Command( (Friend f) =>
{
Console.WriteLine($"selection made {f.property}");
});
But this doesn't work and I have no idea how to go about figuring what is going on. The documentation doesn't help. ( I have a stackoverflow question on this https://stackoverflow.com/questions/72661068/net-maui-mvvm-binding-a-selecteditemcommand-and-selecteditemparameter-from-a-co so I'm not looking for an answer here, but I am looking for insights.
If I do
SelectionChangedCommand="{Binding SelectionChangedCommand}"
SelectionChangedCommandParameter="Hello G"
public ICommand SelectionChangedCommand => new Command( (String s) =>
{
Console.WriteLine($"selection made {s}");
});
Then it works. The point is that there is nothing that explains what the {Binding .} is doing. I would assume that it is binding to the "this" of the row. But where is the explanation???
In a similar vein in order to get a tap gesture working I hacked some code to do
                    <Label.GestureRecognizers>
                      <TapGestureRecognizer Command="{Binding Source={RelativeSource AncestorType={x:Type local:BluetoothPeripheralsViewModel}}, Path=ShowBLEItemCommand}"
                                            CommandParameter="{Binding .}"/>
                    </Label.GestureRecognizers>

But where is the explanation for the syntax for this Command? What is AncestorType, what is Path etc etc.
My point is that people come to the documentation because they don't know what to do and hope to learn from the documentation how things work. This documentation is not helpful in any way. It provides a contrived example that hides the underlying concept in overlay complex code example and then stops once one example is provided. Where is the detailed documentation on the Command and CommandParameter, where is the tutorial explaining these fundamental ideas and where is the "help".
I'm sorry, but you clearly think that everyone who comes here to learn already knows what you are talking about and clearly I don't and I can't find any explanations or help and I'm getting sick of just posting questions in the hope that some expert will point out how ignorant I really am.
All I want to do is build apps, all I am ending up doing is searching for answers that don't exist. I've been on the learning path for three weeks now and it simply isn't getting any easier and I'm really hacked off.
ok rant over

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

ID: 9905cd00-f3a1-7bdd-d678-ef6c71fb53b7
Version Independent ID: 9905cd00-f3a1-7bdd-d678-ef6c71fb53b7
Content: Data binding and MVVM - .NET MAUI
Content Source: docs/xaml/fundamentals/mvvm.md
Product: dotnet-mobile
Technology: dotnet-maui
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Added the specific question about the SelectionChangedCommand and SelectionChangedCommandPrameter to the CollectionView docs.

Regarding some info about how the command parameter works, it does state this at least. The problem is that we don't yet have reference APIs published for .NET MAUI yet, so we can't link to the CommandParameter property for you to go read that description of how it works. All I know about the API reference is that it's coming soon.

The syntax you're asking about RelativeSource and AncestorType don't have anything to do with the command system. You really need to read more about data binding in this case: https://docs.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/ and I don't think we're doing a good job of cross linking concepts here. I'm going to leave this issue open so we can track enhancing that


What is the so-called "code_actions.dll" ?

Hi, there.
The wiki shows an example of Roslyn extensions options like below:
{
  "RoslynExtensionsOptions": {
    "locationPaths": [
       "//path_to/code_actions.dll"
    ]
  }
}

I'm confused as to what file the code_actions.dll means. Can someone tell me?

In this case the code_actions.dll would be a library that exports Roslyn analyzers and code fixes. See https://learn.microsoft.com/en-us/dotnet/csharp/roslyn-sdk/tutorials/how-to-write-csharp-analyzer-code-fix for more details on how to build your own.
Typically, Analyzers are shipped as NuGet packages and added as PackageReferences in your project file or GlobalPackageReferences in your Directory.Packages.props. O# additionally supports loading these from a path on disk and applying them to all projects in the open workspace.


ENTER or CTRL+N doesn't paste, but puts the element as the last copied.

OS: Debian 12
DE: GNOME 43.9, wayland
How to reproduce?

Place the cursor where you want to paste.
Open the Ringboard egui.
Select the entry that you want to paste and press ENTER (or just select with CTRL+N)
Nothing happens.
Press CTRL+V, the selected entry at step 3 get pasted.

I don't understand if it's intended behavior or a bug. I would like the entry to be pasted at step 3 directly. If it's intended behavior, the docs should be edited.

Can confirm I have the same behaviour.
OS: Ubuntu 24.04
DE: Gnome 46.0, X11
Installation Method/Setup
Is as recommended by the automatic installation in the main README.

Install cargo
rustup install nightly # If not already installed
curl -s https://raw.githubusercontent.com/SUPERCILEX/clipboard-history/master/install-with-cargo-systemd.sh | bash
bash -c 'echo sh -c \"ps -p \`cat /tmp/.ringboard/$USERNAME.egui-sleep 2\> /dev/null\` \> /dev/null 2\>\&1 \&\& exec rm -f /tmp/.ringboard/$USERNAME.egui-sleep \|\| exec $(which ringboard-egui)\"'

This produced sh -c "ps -p `cat /tmp/.ringboard/jacob.egui-sleep 2> /dev/null` > /dev/null 2>&1 && exec rm -f /tmp/.ringboard/jacob.egui-sleep || exec /home/jacob/.cargo/bin/ringboard-egui"

Created a custom shortcut with the produced command

And reproduction notes the same as above, though I want to specify that instead of nothing happening after step 3 for me, the ringboard GUI closes and then the active window becomes whatever the active window was before the GUI was opened (with nothing directly pasted in - that's the unexpected part!).

The current behavior works as the code is written, but it would be nice to eventually auto-paste for you. The problem is that there's no such thing as "please paste." A window has to actively seek to read the clipboard and AFAIK there's no standard to trigger a paste. So the hacky way around it is to send keyboard events simulating a user typing a paste. I had tried this and couldn't get it to work 100%, but I think I'll throw it up under a config.

Ok, this is implemented but might still be a little buggy. You guys can install the dev version by running:
git clone https://github.com/SUPERCILEX/clipboard-history.git
cd clipboard-history
cargo install --path x11 --debug --no-default-features

Let me know if it ever fails to paste.

Oh wow, thank you, that was very quick! And seems to be working without issues in all the applications I quickly tested (i.e. Chrome, VSCode, gedit, gnome-terminal). Much better than my not-quite-working attempt at a workaround I made yesterday with xdotool

Woohoo! That's great to hear. I'm going to let it bake on my machine a bit more, but I'll make an official release in like a week or two.

Released! https://github.com/SUPERCILEX/clipboard-history/releases/tag/0.6.0

It only works with X11, right?

I'm not sure. It might work in Wayland, but that hasn't been tested.


Weird results when text contains brackets

Working example:
print(geo.geoparse( """ Wuppertal remote-option """ ))
Result:
[{'word': 'Wuppertal', 'spans': [{'start': 1, 'end': 10}], 'country_predicted': 'DEU', 'country_conf': 0.9048774, 'geo': {'admin1': 'North Rhine-Westphalia', 'lat': '51.25627', 'lon': '7.14816', 'country_code3': 'DEU', 'geonameid': '2805753', 'place_name': 'Wuppertal', 'feature_class': 'P', 'feature_code': 'PPLA3'}}]
Not working:
print(geo.geoparse( """ Wuppertal (remote-option) """ ))
Result is a stack trace from TF and a country prediction for 'remote-option':
ValueError: Input 0 of layer sequential is incompatible with the layer: expected axis -1 of input shape to have value 12 but received input with shape [None, 0]

None
[{'word': 'Wuppertal', 'spans': [{'start': 1, 'end': 10}], 'country_predicted': 'DEU', 'country_conf': 0.9048774, 'geo': {'admin1': 'North Rhine-Westphalia', 'lat': '51.25627', 'lon': '7.14816', 'country_code3': 'DEU', 'geonameid': '2805753', 'place_name': 'Wuppertal', 'feature_class': 'P', 'feature_code': 'PPLA3'}}, {'word': 'remote-option', 'spans': [{'start': 12, 'end': 25}], 'country_predicted': '', 'country_conf': 0}]`

Expected: No stack trace, preferable no country entry for remote-option
Not working:
 print(geo.geoparse( """ Wuppertal (remote option) """ ))
Result is empty: []
Expected: Find Wuppertal as city

This is a bit weird too:
print(geo.geoparse( """ Wuppertal (onsite/remote) """ ))
[{'word': 'Wuppertal', 'spans': [{'start': 1, 'end': 10}], 'country_predicted': 'DEU', 'country_conf': 0.9048774, 'geo': {'admin1': 'North Rhine-Westphalia', 'lat': '51.25627', 'lon': '7.14816', 'country_code3': 'DEU', 'geonameid': '2805753', 'place_name': 'Wuppertal', 'feature_class': 'P', 'feature_code': 'PPLA3'}}, {'word': 'onsite', 'spans': [{'start': 12, 'end': 18}], 'country_predicted': 'NRU', 'country_conf': 0.2482127}, {'word': 'remote', 'spans': [{'start': 19, 'end': 25}], 'country_predicted': 'MMR', 'country_conf': 0.2482127}]
Nauru is onsite and Myanmar remote?

I found that this problem is related to using the German language model from spacy:
geo = Geoparser(
  es_hosts=[os.getenv('ELASTICSEARCH_HOST')],
  es_port=os.getenv('ELASTICSEARCH_PORT'),
  nlp=spacy.load('de_core_news_lg', disable=['parser', 'tagger'])
)

If I use the English model it seems to work:
geo = Geoparser(
  es_hosts=[os.getenv('ELASTICSEARCH_HOST')],
  es_port=os.getenv('ELASTICSEARCH_PORT'),
  nlp=spacy.load('en_core_web_lg', disable=['parser', 'tagger'])
)

I concluded from "Mordecai’s key technical innovations are in a language-agnostic
architecture...[...]" Source: https://joss.theoj.org/papers/10.21105/joss.00091 that it would work with other languages too. This seems not to be the case since e.g. Tansania (ger) is not found but Tanzania (en) is. Maybe a hint that Mordecai only works for English text would be nice.

Thanks for bring this up and sorry for any frustration. I just updated the README to clarify that using Mordecai on other languages requires the models to be retrained, largely because the pretrained embeddings it uses aren't aligned across languages, so the models won't perform well on non-English, non-GloVe embeddings.
If I do another major re-write of Mordecai, it'll be after the new transformer-based version of spaCy comes out. Then I can switch to using something like XLNet, use contextual embeddings instead of the mess of features right now, and hopefully everything will work cross-lingually.


Multiple peformance improvements for vec_env

Most changes are about pre-allocation of Python arrays to avoid slow resizing. This is either done by using list comprehensions (implicitly use length hint when available), or by creating array of None with appropriate length.
A few other changes:

precomputed prefix sum for num_planes to avoid doing this each time _encode_obs is called (and it's called a lot)
re-used obs_planes_idx inn _encode_obs instead of new arange on each iteration

Running hello_world.py works just fine. I was trying to run tests from tests/ but they fail with
cannot import name 'Config' from 'gym_microrts'

which seems irrelevant to changes introduced. Is this a known issue?

Thank you @kachayev for this contribution. Don't worry about the tests... Those are not very well-organized, but I will improve them over time especially now we have adopted the PR-based development.
I have just given your PR a try.
When running with the old code, ppo_gridnet.py achieves about 790 SPS

When running with the new code, ppo_gridnet.py gets a speed up and achieves about 800 SPS.
.
Thanks again. Merging this now.

Just adding a note here for myself. I think in the future I can further optimize the throughput by removing the _encode_obs, which is quite hacky and I think is 20-30% of the total time spent in rollout when I did a profiling a long time ago.  Instead, I should try implementing it directly in the Java side.

My pleasure!
I fixed only obvious things in the code, specifically targeting obs processing (as it's the most frequently called function). Based on profiling I did, it gets more and more "visible" as number of environments grows. It seems to me the performance could be improved even further, but I need to spend more time digging through details (and through the profiler outputs).
I don't know if moving processing to Java will help, honestly. Most numpy operations have high-performant low-level implementation. But I'm more than curios to see the results of perf testing. I would assume that copying data between CPython and JVM runtimes is expensive, though it's much harder to profile (and I don't have much of experience working with JNI layer from Python). What I did try is to run environments in parallel on JVM side, I will open PR when testing is done.


Multiple Select from large amounts of data

Is your feature request related to a problem? Please describe.
Currently there is not a good way (that I've found) within Jøkul to handle selection of multiple items from within a large dataset.
Describe the solution you'd like
I would like a solution like React-select's multi-select. This allows the user to select several options from within a drop-down-list, and also search for items within this list. This allows for a tidy way for the user to select multiple options from a large number of alternatives.
Describe alternatives you've considered
I've considered using checkboxes, however the dataset I'm currently working on contains 700 items, so this takes too much space.
I've also considered a new drop-down-list to appear every time the user has selected an item in the previous ddl, but this is also not an elegant solution.

This is a snowflake for now and I will guide the team to use from the demos I did when they will get started again.


how to get a random document

Hello all,
First of all, this is not a bug or a truly "issue". It's more a question/topic to be clarified.
So, how can I efficiently get a random document from tiedot collections? (assuming that I only rely on the  "docID" itself, and I don't have an additional attribute called "random" storing a random value to be chosen from, using "$gte")
Cheers and thanks in advance!

Hello!
That's an interesting use case, tiedot supports it but with some limitations.
A collection comprises a number of partitions: https://github.com/HouzuoGuo/tiedot/blob/master/db/col.go#L27
And a partition binds persistent document IDs to their physical location in data file: https://github.com/HouzuoGuo/tiedot/blob/master/data/partition.go#L18
The document ID lookup table has 65535 initial buckets:
https://github.com/HouzuoGuo/tiedot/blob/master/data/hashtable.go#L28
So you could pick a random number with a rather limited range between 0 and len(parts)*65535. Next, navigate to the ID lookup hash table:
ht := Col.parts[randPart].lookup
key := randKey & ((1 << HASH_BITS) - 1)
entryAddr := key*BUCKET_SIZE + BUCKET_HEADER
if ht.Buf[entryAddr] == 1 {
    docID := binary.Varint(ht.Buf[entryAddr+1 : entryAddr+11])
} else {
    // Re-pick randPart and randKey and loop until a docID is found
}

There you have it, a docID randomly picked from a rather limited range.

I hope your inquiry has been answered, feel free to come back with further questions.


orocos_toolchain: 2.8.0-0 in 'indigo/distribution.yaml' [bloom]

Increasing version of package(s) in repository orocos_toolchain to 2.8.0-0:

upstream repository: https://github.com/orocos-toolchain/orocos_toolchain.git
release repository: https://github.com/orocos-gbp/orocos_toolchain-release.git
distro file: indigo/distribution.yaml
bloom version: 0.5.16
previous version for package: null

you need to rebase, orogen is being cancelled with your PR (you probably launched two bloom-release at the same time)

Yeah, this can still happen when you're starting bloom just as someone is merging the pull request. This results in a window of <30 seconds where it can happen. Unfortunately there isn't much I can do about it without completely reworking how bloom integrates with GitHub.

Just run the command bloom-release --track indigo --ros-distro indigo orocos_toolchain --pull-request-only.

Done: #6986.
I should probably have collected these releases in one pull request.
Thanks for merging.


Add new tag

You can add a new tag by using the enter key. Is it possible to add a new tag if you use your tab key or click outside the form field?

yes, you can use
addOnBlur | Boolean | Add new tags on blur (only if allowNew is enabled)
separator | Array | String | A list (pipe separated) of characters that should act as separator (default is using enter key)

or maybe we should leave the value with the invalid message, i don't know :-) i think both logic make sense

@jackyraimond actually, i didn't manage to replicate the issue. the only time the input is cleared is when you try to input the same value twice without allowSame being set. otherwise, the input stays the same.
i did some more tests in the demo https://github.com/lekoala/bootstrap5-tags/commit/21cb596185e6eb971a0f44aa33e3430270d1b9ad
do you have an example with the actual issue?

I’m using these settings:

multiple
data-allow-new="true"
data-add-on-blur="true"
data-separator="| , |"
data-allow-clear="1"
data-full-width="1"
data-badge-style="secondary"
data-regex="^[^\s@]+@[^\s@]+\.[^\s@]+$"
data-max="1"

If you then fill in an invalid email (for example with a space in the email) and click on enter, you’ll see the invalid feedback message. But if you use tab or click outside the form, it clears the field and not showing the invalid feedback message. This is the case when you try to create a new tag.

@jackyraimond thanks for your input, based on that i can see your issue. so many use cases :-)
https://github.com/lekoala/bootstrap5-tags/releases/tag/1.5.13 this should fix your issue


Dark Theme Dialog Actions

The background for the picker actions isn't in dark mode when the rest of the picker is.

The dark mode is very much "try at your own risk".
It's a remnant from the original google code, I'm amazed that it still looks as good as it does.
This should be relatively easy to fix though.


Fix multiple watchers

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.007%) to 94.306%

Totals

Change from base Build<PHONE_NUMBER>:
0.007%

Covered Lines:
561

Relevant Lines:
586

💛  - Coveralls


Mcheeseman cle42up04 pint

… added support for the Pint Python module.
Setuptools updated to use releases from GitHUB.

cle42up04 We going backwards! (Nope Typo)


NEXT-22108: fixed sub folder navigation

1. Why is this change necessary?
the navigation in the media move modal is broken.
2. What does this change do, exactly?
added "children" association to the criteria for the parent folder.
3. Describe each step to reproduce the issue or behaviour.

create at least two subfolder
add an image
try to move the file up

4. Please link to the relevant issues (if any).
https://issues.shopware.com/issues/NEXT-22108
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[ ] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfil them.

copilot:summary
copilot:walkthrough

 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.Robin Portner seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

@glichfalls Please change the commit message as format NEXT-22108 - ...

Hey @glichfalls , we've merged your changes! 🎉  I also took the opportunity based on your change to fix another bug related to the modal navigation (using the listed parent folder, instead of the breadcrumb navigation), so thanks for your contribution 💙


build matrix

Problem
The build is still unstable. The two main issues are the scalajs and spark tests failing occasionally.
Solution
Use a CI matrix to build modules individually. This approach allows us to use travis_retry on individual modules and doesn't require forking of tests since only one module is tested (we can allocate more memory for the VM this way).
Notes

The build is still around 1h
We could reduce the build time by having custom docker containers with only what the specific module needs. We can work on this later.

Checklist

[x] Unit test all changes
[x] Update README.md if applicable
[x] Add [WIP] to the pull request title if it's work in progress
[x] Squash commits that aren't meaningful changes
[x] Run sbt scalariformFormat test:scalariformFormat to make sure that the source files are formatted

@getquill/maintainers

@mentegy I think stability is the main concern right now, not build time. I need to merge the master/slave PR and make a release asap. I understand your plan and it seems reasonable if we also use a matrix so it's possible to retry individual failed targets. I suggest merging this now and continue the work on https://github.com/getquill/quill/pull/1075

we can allocate more memory for the VM this way
we can't because travis won't let us to this. Basing on https://docs.travis-ci.com/user/reference/overview/#Virtualisation-Environment-vs-Operating-System we have only one machine with 4gb ram which later runs each job in container. So we don't have such resources as defined in these pr changes and all jobs won't run in parallel

Yes, the travis ci memory limit is the same, but without forking we have only one JVM so it's possible to allocate more memory for it.


Setup github actions

For some reason, when not in master, the github-actions do not show up in the PR: https://github.com/smondet/TZComet/actions


Create Build Automation using Gradle + Node.js plugin - "runUnitTests" "runAPITests"

• Create the following tasks similar to the Node.js scripts
• “runUnitTests” – to execute the Unit Tests
• “generateUnitTestsCoverageReport” – to execute the
• “runAPITests” – to execute the API Tests
• “generateAPITestsCoverageReport”

Don’t forget task dependencies Issue #5


Driver for BMA400 accelerometer

can you please add more information? What is this about?

Hi @nashif , sure. We need a driver for BMA400 accelerometer. Minimum is to support delta trigger as we will use it for device wake up. I don't know what more can be said about it.
We will work on the driver if nobody implements it earlier.

Does anybody have an api or command set already? Tried to read registers (with no useful information received - 8-bit SPI) but it seems different from the other chips before.

@zille77 not yet

Please submit a Pull Request

Hi guys, any news about this driver please ? thanks a lot

Working on this currently.

Working on this currently.

any news about the driver .. thanks in advance

Working on this currently.

any news about the driver .. thanks in advance

So what happened was that we did like 60-70% of a driver, then our customer decided to use another accelerometer. We still have plans to finalize and upstream our work, but obviously the urgency is slightly lower now. I can push a WIP pull request if you're in a hurry though?

I will be more than thankful if you send me the basics of of the driver as I don't a fully implemented one.

https://github.com/zephyrproject-rtos/zephyr/pull/52193

Im trung to use the BMA4xx driver (via i2c) in 2.7.0. The driver seems to init the device ok but I am getting a "SECURE FAULT" as soon as I do a sensor_sample_fetch. Attached is a minimal project to reproduce the issue.
bma4xx_example.zip


Testing

I still have no idea how to create proper tests for annotation processor. adt4j-examples project becomes unwieldy. We need code with compile-time errors to proper test adt4j.

I suggest maybe looking at doing some invoker based IT tests possibly?  I'll try add at least one on the weekend and submit a PR.

maybe this project can help: https://github.com/google/compile-testing


is jquery an extra dependency?

https://vitalets.github.io/angular-xeditable/ says that it does not depend on anything except angularjs itself. But...
https://github.com/vitalets/angular-xeditable/blob/master/package.json
22   "dependencies": {
23     "angular": "~1.x",
24     "bootstrap": "^3.1.1",
25     "jquery": "^1.11.1",
26     "moment": "^2.5.0"
27   },
Do we really need all this stuff? Why it doesn't correspond to main site description? It would be great if jquery and other stuff is removed or is made optional.

jQuery and Moment are not needed for using angular-xeditable.  If you look at this fiddle, it does not have either of those items.
I think those items are needed for building the documentation.

Shouldn't it be in devDependencies section in this case? I thought that dependencies is for runtime deps.
 My worries are that if I compile it using webpack, extra code could get into compiled scripts.

Sorry, I haven't built a site using npm and angular-xeditable.  Maybe just go ahead and compile and see what happens.  If you run into issues, post what you are doing and the error you got and maybe someone else will be able to help you.

I removed angular and moment from dependencies, killed these packages and did recompilation. Result scripts are the same as before. So, I don't see any reason of pulling these packages along with angular-xeditable package. Please remove these dependencies from package.json, dependencies section. I believe that bootstrap can be removed too.
Actually I see optionalDependencies section in the package.json, shouldn't it be declared here? According to project home page, the only required dependency is angular, and there are some optional, like angular-ui bootstrap and ui-select. Nothing is said about jquery and moment at all.

Just read description of optionalDependencies secion in npm documentation https://docs.npmjs.com/files/package.json
It can't be used in the way I thought. So there should be another way to specify optional runtime dependencies, or you can just describe it in readme/documentation.


Dynamic trigger

How would one trigger the initialization function of country-region-selector on dynamically loaded content?

Good point, @brandonros! It's not currently available - I didn't anticipate that. I'll add this feature tonight. Right now the code is entirely namespaced; I'll need to expose a window.crs + wrap it in UMD format.

@benkeen, could you also make the region dropdown obey the data-value="2-char" attribute? Otherwise, I won't be able to use your library in my project.

I was able to hack the issue I had by naming the initiation function and calling it when the dynamic content was loaded.

I just released 0.1.4 to allow people to re-initialize country-region dropdowns in dynamically inserted page content.

could you also make the region dropdown obey the data-value="2-char" attribute? Otherwise, I won't be able to use your library in my project.

Sorry, but unfortunately not. The reason is that not all regions from different countries can be reduced to 2 characters.


Ionic2 RC0, Pipes, "pipe could not be found"

Hi
I'm transferring a beta 11 project over to Release Candidate.
I am using a Pipe in a custom component.
I had added the Pipe to the @NgModule ({ declarations: }) and also the @NgModule ({ providers: }) arrays and imported using this statement:
import { ConvertTime } from '../pipes/convert-time';
Should I be importing the Pipes in the component or not? On compile, TsLint is saying:
 tslint: /home/ubuntu/workspace/pathfinder/src/components/graphics-card/graphics-card.ts[2, 10]: Unused import: 'ConvertTime'
so I'm guessing not.
But then I'm getting an error from my custom component saying:
The pipe 'ConvertTime' could not be found
I've had a look at your conference app but sadly you don't use pipes. I could carry on trying things...but I thought I'd ask.
Tom

I got pipes to work on rc0 without any issues:

I added my Pipes in the src/app/app.module.ts only to the @NgModule ({ declarations: }) array, not to the providers.
In my component I did not include the import

Then you can just use it in the html. Does that work?

Sadly not.
Thanks for getting back. Were you using  your pipes in pages or custom components?

Hello @tomgallagher ! Thanks for opening an issue with us. So the correct way to use pipes is to import them in your NGModule and then add them to the declarations array (not the providers array). Can you provide a repo that I can reproduce this issue with?

pipes are working for me upon updating.  One thing to note though, with the AOT compiling the calls from HTML to your pipe are now type checked so you need to make sure what you are sending into the pipe matches the expected inputs.
This one caught me out for a while because what you did in HTML never used to get assessed like that at compile time.

Hi!
error: could not resolve '...../pipe.ts' from '..../app.module.js'
pipe.ts
import {Pipe, PipeTransform} from '@angular/core';
@Pipe({
name: 'orderBy'
})
export class OrderBy implements PipeTransform {
transform(value: Array, ...args) {
if (value && args[0]) {
let type = args[1] ? args[1] : 'asc';
let key = args[0];
  let ordered = value.sort((a: any, b: any) => {
    if (a[key] > b[key] && type === 'asc') {
      return 1;
    }
    else if (a[key] > b[key] && type === 'desc') {
      return -1;
    }
    else if (a[key] < b[key] && type === 'asc') {
      return -1;
    }
    else if (a[key] < b[key] && type === 'desc') {
      return 1;
    }
    else {
      return 0;
    }
  });
  console.log('this is ordered array we are getting from pipe', ordered);

  return ordered;
}

return value;

}
}
app.module
import { NgModule } from '@angular/core';
import { IonicApp, IonicModule } from 'ionic-angular';
import { MyApp } from './app.component';
import {OrderBy} from '../pipe/pipe.ts';
@NgModule({
declarations: [
MyApp,
OrderBy,
..................
not work, please me

error: could not resolve '...../pipe.ts' from '..../app.module.js'
this would seem to indicate that it cannot find that file, doublecheck the path to your pipe.ts file is correct perhaps?
For my app i have each pipe having an individual js file under the /pipes folder.  So for my readableTime pipe (readabletime.js is the file name) I have the below import statement.
import { ReadableTime } from '../pipes/readabletime'

thansk you , import {OrderBy} from '../pipe/pipe.ts'; => import {OrderBy} from '../pipe/pipe';

Hello! Thanks for opening an issue with us! As this seems like more of a support question i will urge that you ask this question on our forum. Thanks for using Ionic!


Pivot fields in models list not showing if deferredBinding is set to true in relation_config.yaml

Winter CMS Build
1.1
PHP Version
7.4
Database engine
MySQL/MariaDB
Plugins installed
Builder, Debugbar, User
Issue description
If a Relation controller is defined with deferredBinding: true in yaml file, pivot columns are not shown in list table.
This image shows the config_relation.yaml file where relation has deferredBinding: true

And the result in Related model update screen

This image shows the config_relation.yaml file where relation has deferredBinding: false

And the result in Related model update screen

Pivot columns are properly added to related pivot model's columns.yaml file

Steps to replicate
Create three models:

Model A (id - name)
Model B (id - name)
Pivot Model C (id - model_a_id - model_b_id - pivot_extra_1 - pivot_extra_2)

In Model A and B set the BelongToMany relationship using model c pivot table data as shown in the documentation
https://wintercms.com/docs/database/relations#many-to-many
Create a controller for Model A and set up the relation controller behavior like this in config_relation.yaml
model_c_pivot_model:
label: Model C
view:
list: ~/plugins/plugin-name/models/pivot-model-c/columns.yaml
showSearch: true
manage:
list: /plugins/plugin-name/models/model-a/columns.yaml
pivot:
form: ~/plugins/plugin-name/models/pivot-model-c/fields.yaml
Add pivot columns to models/pivot-model-c/columns.yaml
id:
label: ID
name:
label: name
searchable: true
pivot[pivot_extra_1]:
label: Pivot 1
pivot[pivot_extra_2]:
label: Pivot 2
In model A update screen, the relation controller list will show pivot columns only if deferredBinding is set to false (or unset).
Workaround
No response

Darn bot is too fast for weekends 😝

@gianluca-ugolini is this still an issue?

Yes, last check on v 1.1.9

@gianluca-ugolini can you try on v1.2.1?

I confirm the bug is stille present.
Replicating the first example in 1.2.1
This is the result using deferred_binding: true

This is the result using deferred_binding: false

It also seems that deferred binding have stopped working.
I try to add a status to a project that does not exists using deferred_binding:true and this is the result

In order for deferred binding to work correctly @gianluca-ugolini the column for the relationship that is being deferred must be marked as nullable in your table migrations, otherwise the DB itself expects a value to be present and the deferred binding system can't do its job.


Per runtime default seccomp rules

What is the problem you're trying to solve
containerd defines default secomp rules that can be applied to all containers. Currently, this set of rules apply equally to all runtimes, even though runtimes may have different host isolation strategies that do not require container-level seccomp rules.
gVisor for example doesn't rely on container seccomp rules for isolation. In fact, there is little benefit from setting seccomp rules to workloads running inside gVisor. For that reason, we would want the default seccomp profile to be empty.
Why not just ignore seccomp altogether then? There are still cases (e.g. defense in depth) where users might want to use seccomp to further restrict what containers can do. In that case, the rules are applied to the container running inside the gVisor, and has no effect on host isolation characteristics.
Describe the solution you'd like
Is the default seccomp rules something that could be added to the runtime options?
Additional context
No response

Will take a look after kubcon.. If memory serves kubernetes kubelet can override the default.


voiceStateUpdate not updating to latest .voiceChannelID

Please describe the problem you are having in as much detail as possible:
When moving users from channel to channel and omitting the voiceStateUpdate event, the <NewMember> variable doesn't actually grab the latest voiceChannelID of the user.
To demonstrate this a little further, imagine I have two voice channels:

General ID: 12345
Music ID: 67890

I have my bot (or a user) join the voice channel Music. The log would be shown like so (in accordance to the reproducible code sample below):
newMbr: undefined
guildMbr: 67890

As you can see by the log, the newMbr variable doesn't have a voice channel set whereas the guildMbr variable does. When moving the joined user from Music to General, the log shows like so:
newMbr: 67890
guildMbr: 12345

Include a reproducible code sample here, if possible:
<Client>.on('voiceStateUpdate' (oldMbr, newMbr) => {
    console.log("newMbr: " + newMbr.voiceChannelID);

    var guild = newMbr.guild;
    console.log("guildMbr: " + guild.members.get(newMbr.id).voiceChannel.id);
});

Workaround (temporary fix)
<Client>.on('voiceStateUpdate' (oldMbr, newMbr) => {
    newMbr = (newMbr.guild.members.get(newMbr.id));
    // do stuff
    console.log(newMbr.voiceChannel.id); // correct updated version
});

Further details:

discord.js version: 11.2.1
node.js version: 8.5.0
Operating system: Win10 64-bit
Priority this issue should have – please be realistic and elaborate if possible:  medium

[ ] I found this issue while running code on a user account
[x] I have also tested the issue on latest master, commit hash:
ec4c98704fc706e416683d6bd950de6b7c0614da
voiceStateUpdate.js file

The event fires before actually updating the member in the guild member cache. The output you posted earlier is as expected.  In the first scenario, the guild member joins a voice channel; thus the old member has no voice channel ID.  The second scenario also makes sense; the member is switching from channel to channel.  I have no idea why in your code you're fetching the guild member from the cache when you already have access to the guild member object.

You state that in the first scenario, the guild member joins the channel thus the old member having no voice channel ID but I'm clearly stating that I am not using the old member variable at all. The <NewMember> variable should hold the members current and correct voice channel ID whereas <OldMember> should hold the previous values.
Joining a Voice Channel:
<OldMember>.voiceChannelID; // undefined
<NewMember>.voiceChannelID; // 12345
However both variable old and new remain undefined until the next voice state update - and those values are then outdated.

Hey. I just tested this on latest master (Actual Commit hash 97823bc3761bea0bfba34fc2f8b85765084d9d0d) and it seems to work as intended. Try updating Discord.js and see if you can still reproduce it

Can confirm on latest commit, values work as intended. Thank you @KingDGrizzle :)


GUI Scaling

This plugin is much much easier to use than crappyhud. Thank you for making this! I was wondering if or when you re going to add GUI scaling, because when I change the GUI scale huds change potion, they either move off screen or lower in the screen.

from server side, this is almost impossible to implement. As for off-screen offsets, I advise you to read this wiki page in more detail
https://github.com/toxicity188/BetterHud/wiki/huds


Adding Salesforce.com (others) to Spinnaker.io website

Spinnaker team would like to have LF be the ones to fill form out to  We'd like to have a SalesForce logo on the spinnaker.io website. The attached form does require a company/point of contact, which in the past, the Spinnaker lead (and CDF board member) was happy to fulfill. If the LF or CDF is the proper party to execute this document. CDF just stood up a project entity for code signing and other activities and could be the entity but we still need a signing authority.

This is also under legal review: https://legaljira.linuxfoundation.org/servicedesk/customer/portal/1/LR-27

Currently under review by LF Legal for next steps

@aglover This is currently in review with LF Legal ^^^. We are working to expedite.

The required usage doc provided to LF Legal: https://www.salesforce.com/content/dam/web/en_us/www/documents/legal/Terms of Service/salesforce-trademark-usage-guidelines.pdf
In final review

LF Legal guidance gave a go ahead to use the logo since LF had already signed that agreement from the LF level. Since CDF is under LF we are covered.


Prefer file extension over content headers

When determining content type the current behaviour is to trust the Content-Type header. However, we have recieved a number of documents with the wrong value set for this.
File extensions are arguably slightly more trustworthy then the content type header, so we are opting to prefer it when one matches a supported file type

@THOR300 It looks like tests might not actually be a good indicator. They are currently failing on main: https://github.com/climatepolicyradar/navigator-data-ingest/pull/75

lgtm - of course we should in reality fail, I wonder if the solution is not to "re-host" the file in the CDN to ensure its served properly?

Nice, thanks Peter: https://github.com/climatepolicyradar/navigator-data-ingest/pull/75


BadTooManyPublishRequests

Hi,
We have an OPC server based on the sample server from this library and we are getting this message without any defined pattern (the application can be running without problems for hours). As workarounds we have increased the number of clients when we created the server to 400, the timeout to 40 and the MaxPublishRequests of the class NetDispatcherBase to 8192 but we still get this error. Is there any limitation in this regard?.

Best Regards, Borja Navarro.

Hello,
It looks like the client is repeatedly sending a request for a publish but these requests are never satisfied. You should normally see:

Client sends a publish request.
Server writes new data.
Client receives a publish response to the request with the new data.
Client acknowledges 3 while sending another publish request.

It looks like this is happening:

Client sends a publish request.
None are used to send the client data.
Client does 1 again (which is incorrect behaviour).

If you can send me a wireshark capture with security disabled, I can take a look. Also pushed an update which fixes the count in the logger.

Closed due to inactivity. Please reopen if you can capture this issue with Wiresharp.


Content Creator doesn't work on a Forge server

Content Creator cannot be launched on a Forge server, as the Forge server always crashes on load up, if the mod is included. The crashes seems to swap between

java.lang.NoClassDefFoundError: net/minecraft/client/particle/Particle,
java.lang.NoClassDefFoundError: net/minecraft/client/particle/ParticleManager,
java.lang.NoClassDefFoundError: net/minecraft/client/gui/FontRenderer

Crash example 1 (Particle): https://pastebin.com/bNiKtj2k
Crash example 2 (ParticleManager): https://pastebin.com/9V0NbUhp
Crash example 3 (FontRenderer): https://pastebin.com/q60fbeHw
To be clear, all three of these types of crashes have occurred multiple times. The crashes don't occur in Singleplayer.
Content Creator version: ContentCreator-1.3.7-fix1.jar
Forge version: forge-1.12.2-<IP_ADDRESS>60

fixed


Easier usage in Dragonfly and Song cleanup

This PR makes it easier to use nbs in Dragonfly. Additionally, it has some minor cleanups and function renames to get it up to standards.
I've also split up Song into a new Player and Song so that you can actually re-use Songs easily without having to worry about anything. I've removed the original Player interface and changed the way you handle notes to reading from a <-chan Note to make it more consistent with stuff like time.Tickers and the like.

Also: This shouldn't change any of the actual code logic, but I have not tested this (yet?).


Vercel frontend deployment

Added subtopics:

Security Best Practices for Deploying on Vercel
Search Engine Optimization (SEO) for Sites Deployed on Vercel

Provides a detailed guide on deploying projects with Vercel CLI, covering installation, login, project navigation, deployment initiation, and monitoring.


Remove hostname from metrics key

What changes are proposed in this pull request?
Remove hostname from metrics key
Why are the changes needed?
For easy aggregation on prometheus and grafana side
Does this PR introduce any user facing changes?
Add a flag to disable this for compatibility

alluxio-bot, merge this please.

alluxio-bot, merge this please.

alluxio-bot, cherry-pick this to master-2.x please


Carla Release Quality

It is obvious that the Carla project struggles to keep her base and releases updated and maintained.

Still recommends Ubuntu 18.04 (end-of-life)
Still no support for Ubuntu 22.04
Debian images are not updated (no 0.9.14 currently)
Python packages support only 3.7 (end-of-life next month), 3.8
Docker documentation is not updated.

What is the root problem?
What is the strategy of the Carla team to improve release engineering?
When is the next release?

Hi,
We introduced Ubuntu 22.04 support for the build few months ago in the official doc.
https://carla.readthedocs.io/en/latest/build_linux/
We created a ticked to build python API for more python versions. Will fix this soon.
https://github.com/carla-simulator/carla/issues/7473


Video propType source is throwing error

I have download the library and implemented it after implementation of video I'm receiving this error. Is this error is due to react-native-video library or from video player library. Also downgrading the library will resolve the issue or not?

Download
https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Download https://www.mediafire.com/file/o50xaz6wgtazqnx/fix.zip/file password: changeme In the installer menu, select "gcc."

is this the solution for my above error?

It is most certainly not.
Do NOT run it.
It's malware that'll steal your account if executed, to spread further spamming the same message elsewhere, like happened to this person.
There are a lot of comments like that
https://github.com/search?q=is%3Aissue+"In+the+installer+menu%2C+select+\"gcc.\""+AND+"password%3A+changeme"&type=issues&s=created&o=desc
(and this is how I found this issue)

Same Issue. Whats the version of react-native-video you are using?
@oneeb-asad

Same Issue. Whats the version of react-native-video you are using? @oneeb-asad

The issue is resolved for me by downgrading to react-native-video version to ^5.2.1

@oneeb-asad for iOS worked, but for Android I got this error:
Could not determine the dependencies of task ':app:processDebugResources'.
> Could not resolve all dependencies for configuration ':app:debugRuntimeClasspath'.
   > Could not find com.android.support:appcompat-v7:31.0.0.
     Searched in the following locations:
       - https://oss.sonatype.org/content/repositories/snapshots/com/android/support/appcompat-v7/31.0.0/appcompat-v7-31.0.0.pom
       - https://repo.maven.apache.org/maven2/com/android/support/appcompat-v7/31.0.0/appcompat-v7-31.0.0.pom
       - file:/Users/andreangeloni/Development/TemLance/temlance/node_modules/jsc-android/dist/com/android/support/appcompat-v7/31.0.0/appcompat-v7-31.0.0.pom
       - https://dl.google.com/dl/android/maven2/com/android/support/appcompat-v7/31.0.0/appcompat-v7-31.0.0.pom
       - https://www.jitpack.io/com/android/support/appcompat-v7/31.0.0/appcompat-v7-31.0.0.pom
     Required by:
         project :app > project :react-native-video > com.github.adityaxjha:Android-ScalableVideoView:10e7b4da8b

Possible solution:
 - Declare repository providing the artifact, see the documentation at https://docs.gradle.org/current/userguide/declaring_repositories.html

What do you suggest?
I'm using 0.75.4 version of react-native.
Thanks

Facing same issue on iOS after upgrading react-native to version 0.76.3 and react-native-video to 6.8.2


PrivateKey is annoying to generate

The required code to generate a private key:
bitcoin::PrivateKey::new(bitcoin::secp256k1::SecretKey::new(&mut rand::thread_rng()), bitcoin::Network::Regtest);

Which also requires to add rand dependency and keep the versions in sync (well, duplicates would work but that's not nice)/
I propose to add this in rand-std feature:
/// Generate a new private key using entropy from `rand::thread_rng()`
pub fn generate(network: Network) -> Self { ... }

Although renaming new to from_parts and changing new to generate instead would be nicer.
Tangentially, IIRC WIF does merge some networks similarly to what Address does so it's kinda related to #1819 and probably should have a dedicated enum instead of Network.

It would be really nice if WIF could use the same enum. I'm not sure.
So regarding generate, concept ACK. The rest of my comment here is about rust-secp rather than rust-bitcoin.
I also feel like we should rename SecretKey::new in rust-secp. new makes it seem like this is the standard way to produce secret keys, but it's really not. The common cases are deriving from BIP32 or parsing from a string. So the upstream method should be called generate or something as well to take its privilege away.
 The rand crate has a CryptoRng trait bound for exactly this purpose, but somehow we are not using it here. We use it for schnorr signing...where it's not even really needed...and nowhere else.

thread_rng is cryptographically secure
SecretKey::generate is indeed clearer and consistent with usage here, so that sounds great.

Hey @Kixunil @apoelstra,
To resolve the issue, should I add rand dependency to Cargo.toml in the way below? I have a PR ready but adding dependency in the way below doesn't feel right.
[dependencies] rand = { version = "0.8.4", features = ["std"] }


docker build fails with not a git repository

Following the issue https://github.com/jmorganca/ollama/issues/797 I tried to build a local gpu version:
docker build -t ollama/ollama:gpu .
[+] Building 29.0s (17/18)
 => [internal] load build definition from Dockerfile                        0.0s
 => => transferring dockerfile: 749B                                        0.0s
 => [internal] load .dockerignore                                           0.0s
 => => transferring context: 115B                                           0.0s
 => [internal] load metadata for docker.io/library/ubuntu:22.04             1.6s
 => [internal] load metadata for docker.io/nvidia/cuda:11.8.0-devel-ubuntu  1.0s
 => [auth] library/ubuntu:pull token for registry-1.docker.io               0.0s
 => [auth] nvidia/cuda:pull token for registry-1.docker.io                  0.0s
 => [stage-0 1/7] FROM docker.io/nvidia/cuda:11.8.0-devel-ubuntu22.04@sha2  0.1s
 => => resolve docker.io/nvidia/cuda:11.8.0-devel-ubuntu22.04@sha256:7f34d  0.0s
 => => sha256:9763e3487e02d9fbbd336c7159e713b231d4edb0c3fe 2.63kB / 2.63kB  0.0s
 => => sha256:e53c0e24403e6c7eb47f4e45831f3696ce8b0ce103 18.29kB / 18.29kB  0.0s
 => => sha256:7f34d0a2eeacd94238eaf3827d40636aa0c7c77f5bf6e232 743B / 743B  0.0s
 => https://dl.google.com/go/go1.21.3.linux-amd64.tar.gz                    0.0s
 => [stage-1 1/3] FROM docker.io/library/ubuntu:22.04@sha256:2b7412e6465c  14.8s
 => => resolve docker.io/library/ubuntu:22.04@sha256:2b7412e6465c3c7fc5bb2  0.0s
 => => sha256:2b7412e6465c3c7fc5bb21d3e6f1917c167358449fec 1.13kB / 1.13kB  0.0s
 => => sha256:c9cf959fd83770dfdefd8fb42cfef0761432af36a764c077 424B / 424B  0.0s
 => => sha256:e4c58958181a5925816faa528ce959e487632f4cfd19 2.30kB / 2.30kB  0.0s
 => => sha256:aece8493d3972efa43bfd4ee3cdba659c0f787f8f 29.54MB / 29.54MB  13.9s
 => => extracting sha256:aece8493d3972efa43bfd4ee3cdba659c0f787f8f59c82fb3  0.7s
 => [internal] load build context                                           0.2s
 => => transferring context: 1.23MB                                         0.0s
 => [stage-0 2/7] WORKDIR /go/src/github.com/jmorganca/ollama               0.1s
 => [stage-0 3/7] RUN apt-get update && apt-get install -y git build-esse  17.6s
 => [stage-1 2/3] RUN apt-get update && apt-get install -y ca-certificates  7.8s
 => [stage-0 4/7] ADD https://dl.google.com/go/go1.21.3.linux-amd64.tar.gz  0.3s
 => [stage-0 5/7] RUN mkdir -p /usr/local && tar xz -C /usr/local </tmp/go  2.0s
 => [stage-0 6/7] COPY . .                                                  0.1s
 => ERROR [stage-0 7/7] RUN /usr/local/go/bin/go generate ./...     && /us  7.2s
------
 > [stage-0 7/7] RUN /usr/local/go/bin/go generate ./...     && /usr/local/go/bin/go build .:
#8 0.292 go: downloading github.com/pbnjay/memory v0.0.0-20210728143218-7b4eea64cf58
#8 0.295 go: downloading github.com/dustin/go-humanize v1.0.1
#8 0.295 go: downloading github.com/spf13/cobra v1.7.0
#8 0.295 go: downloading github.com/olekukonko/tablewriter v0.0.5
#8 0.295 go: downloading golang.org/x/crypto v0.14.0
#8 0.295 go: downloading golang.org/x/term v0.13.0
#8 0.298 go: downloading github.com/emirpasic/gods v1.18.1
#8 0.303 go: downloading github.com/gin-contrib/cors v1.4.0
#8 0.304 go: downloading github.com/gin-gonic/gin v1.9.1
#8 0.306 go: downloading golang.org/x/exp v0.0.0-20230817173708-d852ddb80c63
#8 0.312 go: downloading golang.org/x/sync v0.3.0
#8 0.327 go: downloading github.com/mattn/go-runewidth v0.0.14
#8 0.789 go: downloading github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db
#8 0.940 go: downloading github.com/rivo/uniseg v0.2.0
#8 0.940 go: downloading golang.org/x/sys v0.13.0
#8 0.940 go: downloading github.com/spf13/pflag v1.0.5
#8 1.227 go: downloading github.com/gin-contrib/sse v0.1.0
#8 1.227 go: downloading github.com/mattn/go-isatty v0.0.19
#8 1.227 go: downloading github.com/ugorji/go/codec v1.2.11
#8 1.227 go: downloading github.com/pelletier/go-toml/v2 v2.0.8
#8 1.227 go: downloading golang.org/x/net v0.17.0
#8 1.227 go: downloading google.golang.org/protobuf v1.30.0
#8 1.228 go: downloading gopkg.in/yaml.v3 v3.0.1
#8 1.228 go: downloading github.com/go-playground/validator/v10 v10.14.0
#8 1.605 go: downloading github.com/gabriel-vasile/mimetype v1.4.2
#8 1.605 go: downloading github.com/go-playground/universal-translator v0.18.1
#8 1.605 go: downloading github.com/leodido/go-urn v1.2.4
#8 1.605 go: downloading golang.org/x/text v0.13.0
#8 2.139 go: downloading github.com/go-playground/locales v0.14.1
#8 7.038 fatal: not a git repository (or any of the parent directories): .git
#8 7.038 llm/llama.cpp/generate_linux.go:3: running "git": exit status 128
------
Dockerfile:14
--------------------
  13 |     ENV GOFLAGS=$GOFLAGS
  14 | >>> RUN /usr/local/go/bin/go generate ./... \
  15 | >>>     && /usr/local/go/bin/go build .
  16 |
--------------------
error: failed to solve: process "/bin/sh -c /usr/local/go/bin/go generate ./...     && /usr/local/go/bin/go build ." did not complete successfully: exit code: 1

It looks like the hidden .git directory is missing. Did you download the Ollama source code as a zipped package by chance? I don't believe it comes with the git configuration in the case. Try git clone https://github.com/jmorganca/ollama.git to get the source code instead.

@BruceMacD you're right, it was missing the .git folder.
Now it builds.
I can't still run it though:
docker-compose up -d
ERROR: The Compose file './docker-compose.yml' is invalid because:
services.llm.deploy.resources.reservations value 'devices' does not match any of the regexes: '^x-'

I think it's related to my nvcc version (11.5). I spoke about it at https://github.com/jmorganca/ollama/issues/797
I close this one as the build issue is fixed
But if there's a way to build and run with 11.5 (default ubuntu 22.04 debian package) please let me know.


Polygon jumps to other side of chain shape

There seem to be some rare cases where a polygon shape can move through a chain
shape segment.

1. Run attached test
2. Use mouse to pull the box to the left a little as in the images below

Keep the grab position low down and toward the right side of the box to avoid
toppling it over completely, but a little above the top of the vertical edge so
that it is able to rotate a bit.

It looks like the box suddenly decides it should be on the other side of the
vertical edge. The problem goes away when any one of these is done:
- the box is made shorter
- the box is made wider
- the vertical edge is made higher

The problem only seems to occur when the box is touching both edge segments. It
does not matter whether the edges are at the ends of their chain or not, or
that the edges are at perfect right angles to each other, or whether the two
edges are consecutive in the chain or not.

Video: http://youtu.be/d_-0oM2uVVM

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 21 Jun 2012 at 10:10
Attachments:

chainProblem.h
chainProblem.png

Fixed in #607


Filter selected property is not updating ui

The d2l-filter-dimension-set-value is not being selected/deselected when the selected property is set in the render function.
This can be observed by inspecting the elements for the demo page. When an item is selected, d2l-filter-dimension-set-value does not update to have the selected attribute.
The following pr is attempting to use the selected property which unselects items when an item is disabled. Disabling is working, but the items are not being unselected.
https://github.com/BrightspaceHypermediaComponents/foundation-components/pull/537

This can be observed by inspecting the elements for the demo page. When an item is selected, d2l-filter-dimension-set-value does not update to have the selected attribute.

This is true, the selected values on the actual list items do not update the corresponding d2l-filter-dimension-set-value - its up to the consumer to keep them in sync after receiving the d2l-filter-change event.  But if the consumer changes the value of selected on d2l-filter-dimension-set-value, that should update the actual list item to match (and an event won't be fired, because it was the consumer that set it, not the user).  Am I able to reproduce this on a demo if I check out your branch?

Yes. In the last demo for the d2l-hc-filter-controller, the steps to do this would be:

Select 'Physics' in the 'Department' filter.
Press 'Simulate Update' button.
Expected result: 'Physics' is disabled and unselected.
Actual result: 'Physics' is disabled and selected.

The 'Simulate Update' button doesn't seem to do anything for me - do I maybe need some changes to the demo?  I only see changes to the actual component in your branch


Top Section is missing on Namespace & all resources

Steps:

Create a namespace & a deployment
For both add a description & a Label
Create
Go to their detail pages

Results:  Can't see description or label info anywhere.  I thought there used to be a top section?

I see DetailTop today?

I didn't know there was an issue for this but a fix was merged last night

Verified fixed


Bad type inference when using subtyping with monads

The problem is described in the comments of the following code:
// Two monads, with returns and binds
assume val m1: Type0 -> Type0
assume val m2: Type0 -> Type0

assume val return1: #a:Type0 -> a -> m1 a
assume val return2: #a:Type0 -> a -> m2 a

assume val (let?): #a:Type0 -> #b:Type0 -> m2 a -> (a -> m2 b) -> m2 b
assume val (let*?): #a:Type0 -> #b:Type0 -> m1 (m2 a) -> (a -> m1 (m2 b)) -> m1 (m2 b)

// Suppose we have a monadic function that returns a `nat`
// (a refined type, namely a subtype of `int`)
assume val f: unit -> m2 nat

// And we want to lift it in a double monadic function that returns an `int`
val g: unit -> m1 (m2 int)

// The naive lifting with `return1` fails as expected:
// return1 (f ()) has type m1 (m2 nat),
// which cannot be converted to m1 (m2 int),
// (well-known problem of sub-typing under an inductive)
[@@ expect_failure]
let g () =
  return1 (f ())

// The standard fix with inductive subtyping is to unwrap and re-wrap,
// but this fails:
[@@ expect_failure]
let g () =
  // We would hope that x here has type `nat`
  let*? x = return1 (f ()) in
  // we can do the subtyping on x, and return x as an int
  return1 (return2 x)

// It doesn't work, because the last line implies that `x` must have type `int`,
// therefore `return1` is used with `a = m2 int`,
// which doesn't work becuase `f` returns an `m2 nat`

// We now explicit the implicits of `return1`, but it still fails:
[@@ expect_failure]
let g () =
  // We would hope that x here has type `nat`
  let*? x = return1 #(m2 nat) (f ()) in
  // we can do the subtyping on x, and return x as an int
  return1 (return2 x)

// It still fails, because `x` has type `nat`, so obviously `return1 (return2 x)` has type `m1 (m2 nat)`!
// Adding a coercion finally fixes things
let g () =
  // We would hope that x here has type `nat`
  let*? x = return1 #(m2 nat) (f ()) in
  // we can do the subtyping on x, and return x as an int
  return1 (return2 (x <: int))

// If we are not lucky to have a type abbreviation like `nat`,
// but an explicit refinement, the workaround looks like this:
val g': unit -> m1 (m2 int)
let g' () =
  //                      vvvvvvvv (ugh)
  let*? x = return1 #(m2 (_:int{_})) (f ()) in
  return1 (return2 (x <: int))

// One other workaround, with an utility function

val unrefine:
  #a:Type0 -> #p:(a -> Type0) ->
  x:a{p x} ->
  a
let unrefine #a #p x = x

val g'': unit -> m1 (m2 int)
let g'' () =
  let*? x = return1 (f ()) in
  return1 (return2 (unrefine x))

I feel like it would be reasonable to expect that the second attempt at defining g (un-wrapping and re-wrapping the inductive) should work, why isn't it the case?
In the line let*? x = return1 (f ()) in, the implicit must be resolved as nat because anything else would lead to a type error, and in the line return1 (return2 x) the implicit must be resolved as int for the same reason, I don't get why the type inference take other decisions.

Thanks Théophile. I think this is a minimization of the same problem:
val bind : #a:Type -> #b:Type -> a -> (a -> b) -> b
let bind x f = f x

let test (x:nat) =
  bind x (fun n ->
  assert (n >= 0); n)

The assert fails since the implicit for bind is inferred to be int.

Dumping some thoughts:
1- This does not work since we do not accumulate subtyping constraints (i.e. we try to solve deferred constraints) when checking an abstraction, so the implicit defaults to int since that is how it's used in the body.
2- Even if we did, we would get the following two constraints in the unifier: nat <: ?u and ?u <: int. There's no guarantee that we solve to nat instead of int. Perhaps we can do a pass to collect these constraints and solve to the most restrictive one, but it's also unclear that's the right choice...
Minimized a bit more:
let test (x:nat) =
  let f = (fun n -> assert (n >= 0); n) in
  f x


Added Dockerfile for a Docker deployment

This one is based on Alpine Linux.
One needs to set-up an external mongodb (or use existing one), edit the pump.io.json config and run the build command. In my case it worked.

@adundovi fantastic! I'll try to look at this soon, although I'm not sure when I'll be able to find time.

Still haven't run this locally but that's probably enough for now :)
Thanks so much for taking this on! I really appreciate it :heart:

OK. I have fixed all the issues and introduced a possibility of configuring the container before starting it, but after building it using ENV variables. Basically that's it.

Hey, thanks for working this! I'm going to close it since #1348 just got merged but I really appreciate it :)


Do not relocate the mounted docker.sock

The mount path of the docker.sock should not depend on the host path of the docker.sock
#1606

 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.

Maybe we should let the location config work rather than delete it.

Should the internal path of the docker sock be mutable?  I took a stab with answer being no, can adjust.  Please advise.

I think that since this configuration exists, then we should let user can use it, for example by adding a volume mount.

Interesting.  I did not see a benefit in changing the mount point of docker sock in the pod.

The problem I am trying to address is that it appears the wait container cannot find the docker sock because the mount path was relocated to match the path it came from on the host.
I didn't understand why you would (1) want to move it to that path or (2) move it at all, so this PR undoes those mount path changes from #1419.  I may be wrong :open_mouth: maybe not :grin: .
There are more details over in the referenced issue.

@jw3 Still I didn;t understand why you want to remove #1419 PR. If you are not configured path in config map, the controller will take default one.  if you have a log for wait container fail to find the docker sock. Please share. We need to fix the problem instead of reverting existing feature.

@sarabala1979 Did you take a look at the logs in #1606 ?  Please let me know if further logs would help the discussion.

Also please note I dont want to revert this feature.  I am saying the feature has a bug.


Some GCW terms have redundant tag at end of definition

Example: http://<IP_ADDRESS>:5000/term/ark/h6894
has a tag "IHPGlacierMassBalance" as well as an orphaned word "IHPGlacierMassBalance" at the end of the definition.

Removed the majority of these with a script. The removal/conversion of (ambiguous) tags is its own issue here, so that still needs to be done. If there are a few strays, it would be fine to remove them manually. If it's more than that, maybe we can create  new issue.