cmd/go: don't refuse to update a present package only because of its source configuration

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version devel +c3d10e64b9 Wed May 16 21:15:03 2018 +0000 linux/amd64
Does this issue reproduce with the latest release?
yes.
What did you do?
I have a Go package whose source is a Git repository. The correct upstream for this repository uses a non-standard network protocol (let's call it xyz://), and that is what git config remote.origin.url reports. Git itself works fine with this.
I would like to run go get -u ./... in this repository in order to refresh it and all its dependencies, just like any other Go package.
What did you expect to see?
The repo and its dependencies should be updated, even though cmd/go doesn't understand the xyz:// protocoll
What did you see instead?
package <foo>: unable to parse output of git config remote.origin.url
The simple solution is for cmd/go to not refuse to even attempt to update an existing package if it can't understand its repo configuration. I have a sample fix that does this: https://go-review.googlesource.com/c/go/+/113456
I don't expect go get to be able to fetch a package with a non-standard Git remote URL (and a fresh fetch doesn't come up too often), though that's an obvious extension.
/cc @robpike

An argument could still be made to permit unknown protocols to still be fetchable, but it's nowhere near as pressing as what 17f5423 fixed (updating in place), so I'm going to mark this as done.


[Admin/Для фанатів] When editing, the added category shows a photo from the previous category

Environment: Windows 11,
Google Chrome Version 111.0.5563.147 (64-bit)
Reproducible: Always
Build found: 8490f60
Preconditions

The site is open.
Logged as admin.
At least 1 category has been added.

Steps to reproduce
Actual result
Expected result

1. Photo
1. Click on the 'Додати нову категорію' and fill in all mandatory fields. 2. Click on the 'Зберегти' button. 3. Click on the 'Edit' button.
There is no photo in the modal window or a photo of the previous category is uploaded.
There is correct data in the modal window.

2. New category in the list.
1. Click on the 'Додати нову категорію' and fill in all mandatory fields. 2. Click on the 'Зберегти' button.
The new category doesn't appear in the list immediately; an admin has to wait about 6 sec.
The new category appears in the list right away after saving.

3. PUT instead POST
1. Click on the 'Додати нову категорію' and fill in all mandatory fields. 2. Click on the 'Зберегти' button.
There is a 'PUT 500' request.
There is a 'POST 200' request.

4. Message after add
Open the 'Для фанатів' field on the StreetCode page. 2. Click on the 'Додати нову категорію' and fill in all mandatory fields. 2. Click on the 'Зберегти' button.
There two 'Категорію успішно додано' messages appear.
The one 'Категорію успішно додано' message appears.

[x] There are many identical requests - the cause of the overload needs to be investigated.

https://github.com/ita-social-projects/StreetCode/assets/135108144/be59d62a-bde5-4390-bc8f-0fac5c9e1271
https://github.com/ita-social-projects/StreetCode/assets/135108144/afbfc6a8-0f77-47b4-858c-89e15c6ce675
https://github.com/ita-social-projects/StreetCode/assets/135108144/e0c5c434-6266-458d-9d39-8793857873c1
https://github.com/ita-social-projects/StreetCode/assets/135108144/bc29f6ee-2fd2-4661-8b1b-2adf3fa03e6c

User story and test case links
User story #833

I was not able to reproduce this issue, except for the 'multiple identical requests' part. I suggest retesting it.

The correct photo is displayed in the modal window.
The new category appears immediately after creation.
Create new category - POST 200.
There is only one message appears -  'Категорію успішно додано'  after creating a new category.
There are still many identical requests.


UART

UART is useful at least while we are trying to get HW to work
while this PR adds helpful flexibility I was unable to see UART actually working :(

@mck1117 board.h approach depends on board.c approach with stm32_gpio_init
I am not sure why but all F1x demos in ChibiOS are not using stm32_gpio_init which is part of the board.h mode mapping approach used in f0

Right - the F1 has a different (maybe unique to F1?) GPIO peripheral, so the init options are somewhat different (worse) to those on F0/2/3/4/7 etc.

in light of what shall we merge this PR?

https://github.com/mck1117/wideband/commit/b910db45ba71f883af913f766250c797290e0721 is some depression manual bit magic in my opinion


Attempt to resize widgets window causes black out + beach ball

Grabbed right border of widgets window and pulled right - immediately went black...

weird!  I do this all the time.. replicable?  steps to replicate?  latest build?

closing for now until you can replicate..  something got hung somewhere.


Merge 1.5 to master

This is as follow-up to #1069.

Fails

:no_entry_sign:

Missing Test Files:

src/lib/Components/Bidding/Components/__tests__/BiddingThemeProvider-tests.tsx
src/lib/Components/Bidding/Components/__tests__/Divider-tests.tsx
src/lib/Components/Bidding/Elements/__tests__/Theme-tests.tsx
src/lib/Components/Bidding/Components/Animation/__tests__/CssTransition-tests.tsx
src/lib/Components/Bidding/Elements/__tests__/TextInput-tests.tsx

If these files are supposed to not exist, please update your PR body to include "#skip_new_tests".

  Generated by :no_entry_sign: dangerJS


Update automated email triggers to remove supporting instructor

We are deprecating the role of supporting instructor so any automated email that checks for this role should be updated.  The supporting instructor role is no longer required.

@maneesha will have a response after our next WAT meeting :)

Closing this to be re-considered when implementing new automated email infrastructure.


[okina] Add some typing in the mm to avoid void* [yohann/okina-gen-ptr]

Can you also simplify the use of mm::ptr in sparsemat.cpp etc as part of this PR?


Subreport implementation

Hello,
First of allI want to tell you that you have done an awesome job. The reason I'm creating this issue it's because I haven't found a way to use a Subreport with a value from the Main report.
I have loaded the Main report with no problems, and the data is being shown, but the subreport displays the following message:
Data retrieval failed for the subreport, 'Subreport', located at: C:\Repositories\ReportApp\ReportApp\App_Data\Reports\Subreport.rdlc. Please check the log files for more information.
Is there anyway you can provide an example using a Report with a subreport?
Would like to hear from you soon, thanks.

I have no experience with subreports. Could you send me an ASP.NET Web Forms example/article which uses subreports. I will try to add its support to the future release.

Thank you for your fast answer,
Here's a good example on what I want to achieve: https://www.youtube.com/watch?v=P9O77qT_KGI
A Main report passing a parameter value to the Subreport and the subreport shows the data based on that parameter value.

Is this resolved? i am getting this error: "Error: Subreport could not be shown."
How can I add a subreport and handle SubreportProcessingEventHandler?

Not yet. I do not have time now to implement big changes for the project. I hope to have it done by December this year.

Waiting for this feature.

Going live in 0.8


A section for OAM RAM

In WLA-DX I can have an enumeration where OAM RAM is defined ($FE00). RGBDS doesn't appear to have enums or a section that can reach that point. Can there be one?

Sure, I’ll plan to implement this.

...So uh...is this still planned?


email is required

Hi Eouia
Thanks for this fantastic Module.
But i have a problem, when I start the MagicMirror (npm start) it starts and it records but he stops after i said "Smart Mirror" or "Snowboy".
Thats the Error:
[Auth error:Error: email is required.
Recording 4000 bytes
[ASSTNT] RecognizeStream Error:  { Error: 14 UNAVAILABLE: Getting metadata from plugin failed
with error: email is required.
at createStatusError (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/client.js:64:15)
at ClientDuplexStream._emitStatusIfDone (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/client.js:270:19)
at ClientDuplexStream._receiveStatus (/home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/client.js:248:8)
at /home/pi/MagicMirror/modules/MMM-Assistant/node_modules/grpc/src/client.js:804:12
code: 14,
metadata: Metadata { _internal_repr: {} },
details: 'Getting metadata from plugin failed with error: email is required.' }
Recording 4000 bytes
Recording 4000 bytes
(node:1677) Warning: No such label 'End Recording' for console.timeEnd()
Do you know something about this?
Thanks
TheCrack3r

I think you've failed or missed something on getting google API permission. (Try again.)

Hii eouia. I have removed the MMM-Assistant folder and i have installed from 1-4 but i have a question. In the config i must fill the Google project id and the Keyfilename. But i dont know which keyfilename.

Snowboy works but smart mirror not. Why?

Your keyfilename is similiar with YOURPROJECTNAME-SOMETHINGHEXCODE.json. You can get that file in https://console.cloud.google.com/apis/credentials?project=YOUR-PROJECT ... by Create confidentials
That filename might be too long to handle. you can just rename it like servicekey.json or anything, and put that file in your /resources directory and put that info in your config file. I think it would work.

Yes. Thank you very much. It works. But i have an other problem. I can not switch language. I write de-DE but it does not speak on german.

for Google Assistant, New APIModule which was released a few months ago could help that, but currently, I haven't updated it due to lack of my time.
You can update it by yourself. modify "google-assistant": "0.1.12", in package.json to "0.2.2". I didn't test but I think it could work.

@TheCrack3r
Please open a new issue for German language support, or help us out by filing a PR.
Thank you!


RCSBuildAid v1.0

This mod used to be in hiatus.
Changed download from curse to github and added a conflict to the fork of this mod.

Wow, welcome back and thanks for the contribution!


remove WriteTimeout from frontend

Might take longer than 15 minutes

Something went wrong with GitHub when merging this.  I believe it is merged.


Externs for jQuery 2.x

Maybe add externs for jQuery 2.x

As far as I know, the API hasn't changed for jQuery since 1.9/2.0. Did 1.11/2.11 have api changes?

Ah, you're right. Don't know why, but I was under the impression that the API changed between 2.0 and 2.1. Closing as this is clearly invalid.

I'd very open to finding a way to indicate that in the externs. The naming lends you to think we don't support the latest version.

True, my brain automatically shouted "not supported!" the moment I saw the listing of the extern files.
The very first thing that is passing on my mind right now: apply a ranges of versions to the extern's name. Example for jQuery extern: jquery.1.9-2.1.js (from v1.9 to v2.1). @ChadKillingsworth


how i can path name on vector clicked ?

You can't get the name of the path that you clicked with the current implementation.

Hi,
Please find here a way to allow the library to retrieve selected path.
Could be very usefull 👍
`class ExtVectorMasterView(context: Context, attrs: AttributeSet? = null) : VectorMasterView(context, attrs) {
// unfortunately pathModels are not accessibles because of privacy
fun getAllPathModel() : ArrayList<PathModel> {
    return vectorModel.pathModels
}

fun isTouched(path: Path, x: Float, y: Float): Boolean {
    val region = Region()
    val rectF = RectF()
    path.computeBounds(rectF, true)
    region.setPath(
        path, Region(
            rectF.left.toInt(),
            rectF.top.toInt(), rectF.right.toInt(), rectF.bottom.toInt()
        )
    )
    val offset = 10
    return region.contains(x.toInt(), y.toInt()) || region.contains(
        x.toInt() + offset,
        y.toInt() + offset
    ) || region.contains(
        x.toInt() + offset, y.toInt() - offset
    ) || region.contains(x.toInt() - offset, y.toInt() - offset) || region.contains(
        x.toInt() - offset, y.toInt() + offset
    )

}

fun getTouchedPath(event: MotionEvent, scale:Float, panX:Float, panY:Float): NFPath? {
    val action = event.action
    if (action == 1) {
        val paths = getAllPathModel()
        paths.forEach { pathModel ->
            val path = NFPath(pathModel.name, pathModel, pathModel.path)
            path.name = pathModel.name
            val newX = event.x/scale-panX
            val newY = event.y/scale-panY
            if (isTouched(path, newX, newY)) {
                return path
            }
        }
    }
    return null
}

}`
Source : I've used  a mix of VectorMaster & RichPath library code to compute this.
In my case, the view is created into a ZoomLayout, allowing vector to be zoomed and paned.
getTouchedPath is always returning the right view


Gemini Support

Hey!
This morning I picked up the new Gemini chatbot from Google, it has an API key and so I wondered if it could be hooked up to mods?

https://makersuite.google.com/app/prompts/new_freeform
https://cloud.google.com/vertex-ai/docs/generative-ai/model-reference/gemini

maybe i'll get inspired to try adding this myself sometime, until then I open this

duplicates #176

@dezren39
Google Gemini can be used with mods this way: https://github.com/PublicAffairs/openai-gemini


chore: update ACIR serialisation format

This PR updates the ACIR serialization format to match that defined in https://github.com/noir-lang/noir/pull/2872. The main change is that Brillig ACIR opcodes no longer contain a foreign_call_results field.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

thinking aloud: Do we update this in tandem with a noir tag bump?

Do we update this in tandem with a noir tag bump?

What does the noir tag feed into in this repository? We don't have a fully working noir tag for this serialisation yet (as we rely on a compatible release of bb/bb.js) though.

Because we recently added integrations tests which effectively test barretenberg again (we should remove these) it makes this process a bit tedious


[backup] update local_folder.sample.toml

Motivation
To add the gzip filter, so a downloaded backup from the Diem testnet can be interpreted via this sample file directly (with updated FOLDER variable)
Have you read the Contributing Guidelines on pull requests?
y
Test Plan
locally.

/land


removing all alias if user is not cluster-admin

@jcantrill ptal
indexPatterns list gets passed along to delete patterns from the contents

[merge]  A test would be nice..but in the interest of time...

@jcantrill ack -- will take on as tech-debt


Prune docker volumes

What happened (or feature request):
We are not cleaning up unused docker volumes, creating the potential for lots of disk space to be consumed. This also seems to occasionally create a scenario in which the mysql container for a site will end up stuck in a restart loop.
What you expected to happen:
I expect to not have the mysql container intermittently exhibit a restart loop. I expect to have disk space used for useful things. Adding a step to prune volumes (maybe on remove?) would alleviate both of these issues.
How to reproduce it (as minimally and precisely as possible):
The mysql container restart behavior is very difficult to reproduce. If you happen to find yourself producing it though, stopping/removing the container and running docker volume prune will allow you to successfully start a new mysql container. Running this command also demonstrates how much space was being needlessly consumed.
Anything else do we need to know:
n/a
Related source links or issues:
n/a

I think it should be reasonable to do this at the end of ddev remove, unless anyone has any objections. @rickmanelius any other aspects of this issue requiring decision / further incubation?
I haven't seen the mysql issue originally noted in sometime, but I do think we still need to prune unused volumes when sites are removed. It does not take much site spin up/tear down for several gigs to end up being used.

As long as we filter with --filter and have a test that makes sure we're doing the right thing I'm good with pruning.

Works for me. Tagging v0.8. Probably needs a little more specificity to get to actionable unless you feel there is a clear/obvious path.

Needs more work before actionable. Need to consider volumes from non-ddev solutions and also factor in download times (for slow internect connections).

I think we only have residual volumes that aren't even necessary?
docker.nginx-php-fpm-local/Dockerfile.in:VOLUME /var/log/nginx
mysql-docker-local/5.7/Dockerfile.in:VOLUME /var/lib/mysql
I suspect we're not doing the right thing in those dockerfiles anyway? Volumes are normally for sharing filesystems between containers right, but we don't actually do that do we?

This should be totally actionable, and totally appropriate, as originally described. We just have to delete the related volumes.


Create how-to guide on how to implement a plugin

As a developer I want a to understand what is the flow of using plugins and how I should develop one.

Yep, I am planning to add the documentation of the plugin architecture and use-case in https://reva.link/docs/concepts/


New release: stable-3033.2.0

SDK container bump to the new stable release. Versionfile, coreos-overlay, and portage-stable have been updated to reflect the correct OS and SDK versions, and to point to the correct submodule commits respectively. This change only affects the SDK container logic.
Please note that after merging, I'd like to force-push the tag stable-3033.2.0 to point to this commit, so when we check out the "stable-3033.2.0" tag we get the correct versionfile and submodule commits.

I think we can easily automate this at some point; for now the SDK container is experimental and I don't mind doing this manually.


(Solved)Dock-widgets in TableView prevent TableView from closing upon application exit #736

Solved the issue that prevented tableview to be closed automatically when MSS Main Window is closed. Previously, the tableview with its dock-widget continued to stick around on the screen even when the main window has been exited. The tableview then,along with the hexagon dockwidget had to be closed manually after which the MSS application finally quits. But now this problem has been solved.
On closing main MSS window, all the child window that it had opened, gets closed.

I have already created a new PR into stable, that is, PR #758
Hence, I am closing this pull request.


Add Bicep config file to workspace command

New command for Ctrl + Shift + P
Add new command for create bicep config file
Bicep: Add Bicep configuration file to Workspace
This action will add a bicepconfig.json file to the workspace root of a project. We will not ask the user where to place the file as this command name is explicit.
I would like for the created file to have the simplified version of "no-hardcoded-urls" unless this is absolutely necessary. I expect to just see "warning" rather than a longer list of various azure tenants.
-> https://github.com/Azure/bicep/issues/5978
If they already have a configuration file in their workspace root we show an intermediary notification:
"Do you want to overwrite your Bicep configuration file?"  [Overwrite] [Cancel]
Related to #5318

I am also open to the option of having an optional dialog and in the place holder text it says "Press 'Enter' to add the configuration file to workspace root"
And then it has a "Browse" option underneath. Ultimately users shouldn't have trouble moving their files around. In the meantime, it would be good to discuss with the team if we believe it is a fine "one-size-fits-all" approach to just plop the file in root.

Related: https://github.com/Azure/bicep/issues/5978

[ ] Just this in default config:
// For detailed default values see: https://aka.ms/bicep/config/defaults
{ "analyzers": {    "core": {      "rules": {     }    }  }}
[ ] Need to doc the default config
[ ] Mention where we add the file due to lightbulb?  Bicep config file - Azure Resource Manager | Microsoft Docs

Dupe of https://github.com/Azure/bicep/issues/5711


ingest, embedding, faiss error

$ ./ingest.sh
--2023-07-29 15:07:25--  https://langchain.readthedocs.io/en/latest/
Resolving langchain.readthedocs.io (langchain.readthedocs.io)... <IP_ADDRESS>, <IP_ADDRESS>, 2606:4700::6811:2152, ...
Connecting to langchain.readthedocs.io (langchain.readthedocs.io)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://api.python.langchain.com/en/latest/ [following]
--2023-07-29 15:07:25--  https://api.python.langchain.com/en/latest/
Resolving api.python.langchain.com (api.python.langchain.com)... <IP_ADDRESS>, <IP_ADDRESS>, 2606:4700::6811:2152, ...
Connecting to api.python.langchain.com (api.python.langchain.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: ‘langchain.readthedocs.io/en/latest/index.html’
langchain.readthedocs.io/en/latest/in     [ <=>                                                                    ]   1.57K  --.-KB/s    in 0s
2023-07-29 15:07:25 (30.1 MB/s) - ‘langchain.readthedocs.io/en/latest/index.html’ saved [1612]
FINISHED --2023-07-29 15:07:25--
Total wall clock time: 0.3s
Downloaded: 1 files, 1.6K in 0s (30.1 MB/s)
/home/lichen/environments/langchain_documentation_chatbot/venv/lib/python3.8/site-packages/langchain/document_loaders/readthedocs.py:48: GuessedAtParserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.
The code that caused this warning is on line 48 of the file /home/lichen/environments/langchain_documentation_chatbot/venv/lib/python3.8/site-packages/langchain/document_loaders/readthedocs.py. To get rid of this warning, pass the additional argument 'features="lxml"' to the BeautifulSoup constructor.
_ = BeautifulSoup(
/home/lichen/environments/langchain_documentation_chatbot/venv/lib/python3.8/site-packages/langchain/document_loaders/readthedocs.py:75: GuessedAtParserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). This usually isn't a problem, but if you run this code on another system, or in a different virtual environment, it may use a different parser and behave differently.
The code that caused this warning is on line 75 of the file /home/lichen/environments/langchain_documentation_chatbot/venv/lib/python3.8/site-packages/langchain/document_loaders/readthedocs.py. To get rid of this warning, pass the additional argument 'features="lxml"' to the BeautifulSoup constructor.
soup = BeautifulSoup(data, **self.bs_kwargs)
Embeddings: client=<class 'openai.api_resources.embedding.Embedding'> model='text-embedding-ada-002' deployment='text-embedding-ada-002' openai_api_version='' openai_api_base='' openai_api_type='' openai_proxy='' embedding_ctx_length=8191 openai_api_key='...apikeyhere...' openai_organization='' allowed_special=set() disallowed_special='all' chunk_size=1000 max_retries=6 request_timeout=None headers=None tiktoken_model_name=None show_progress_bar=False model_kwargs={}
Traceback (most recent call last):
File "ingest.py", line 34, in
ingest_docs()
File "ingest.py", line 26, in ingest_docs
vectorstore = FAISS.from_documents(documents, embeddings)
File "/home/lichen/environments/langchain_documentation_chatbot/venv/lib/python3.8/site-packages/langchain/vectorstores/base.py", line 413, in from_documents
return cls.from_texts(texts, embedding, metadatas=metadatas, **kwargs)
File "/home/lichen/environments/langchain_documentation_chatbot/venv/lib/python3.8/site-packages/langchain/vectorstores/faiss.py", line 578, in from_texts
return cls.__from(
File "/home/lichen/environments/langchain_documentation_chatbot/venv/lib/python3.8/site-packages/langchain/vectorstores/faiss.py", line 522, in __from
index = faiss.IndexFlatL2(len(embeddings[0]))
IndexError: list index out of range

+1

+1

me too

the website is null  https://langchain.readthedocs.io/en/latest/


chore: split options out from main publisher/listener files

listener.go and publisher.go are becoming too large.
splitting the options out to keep them leaner

will be rebased once #23 merges


Feat: support build metadata

PEP #440 specifies local version identifiers. There is a similar feature in NPM called the build metadata. This PR adds support for these versions, with some caveats:

Python's local version is considered for version comparison, whereas NPM's build metadata is not. Therefore, although the two version segments are similar, they are not equal in behavior.
Python's local version additionally requires that the leading and trailing characters must be ASCII letters or digits, therefore the NPM version is subject to the same constraints.

Originally this PR included an option to disable support for build metadata, but it is actually not needed, as build metadata does not break round-tripping.

@ofek could you verify this PR fixes the mkdocs issue?

That looks like success to me!


Support calls with more than 2 arguments

This closes https://github.com/sourcegraph/tree-sitter-jsonnet/issues/5
test plan:
make test

Here it is @tjdevries

ping @tjdevries (sorry to be pushy but I need those things merged because it's blocking me for another project).

Looks great! Thanks :)
Sorry for the delay, I was traveling the past few days. Appreciate the pings!


basic jar building API

This works once released:
pip install konduit
konduit-python init --os <your_os>

p.s. @wmeddie I called the cli tool konduit-python so as to not interfere with your tool. but we could rename it at any point.


[OSPP] The implementation for Observability management

What type of PR is this?
/kind feature
What this PR does / why we need it:
users can only check the status, parameters and metrics of tasks via the command line after creating edge-cloud synergy AI tasks by sedna. This design is intended to provide observability management for displaying logs and metrics of sedna in real time.
This is the implementation of pr #340

/lgtm

/lgtm

/approve


aria-current in NavLink #4707

Line 32 has to be aria-current instead of ariaCurrent, otherwise React will strip it out.

This seems sensible to me, but I'm not an a11y expert. Maybe @ryanflorence would know more?

It would be great to have this in 🙂  Maybe I can help with some references:
Using the aria-current attribute - by Léonie Watson, January 14th 2017
http://tink.uk/using-the-aria-current-attribute/
Linked on that post: Examples and support as of January 2017
https://ljwatson.github.io/design-patterns/aria-current/
With the release of NVDA 2017.2 a few days ago, three of the major screen readers, in combination with different browsers, have full support for aria-current:
https://www.nvaccess.org/post/announcing-nvda-2017-2-release/

Testing with Safari + VoiceOver, here's the difference between true and page. Other screen readers might use a different wording.

Well, if people don't like it, it can be overridden pretty easily. Thanks!


Make ScriptBuf::p2wpkh_script_code stand alone

We would like to move the Script type to primitives without moving any key stuff, including pubkey hashes. We may later, before releasing primitives, move the WPubkeyHash at which time this patch can be reverted or re-implemented on ScriptBuf.
The ScriptBuf::p2wpkh_script_code function does not take self as a parameter but it does return Self - this can trivially be made into a standalone function.
Make ScriptBuf::p2wpkh_script_code a standalone function.

Side note: script code has a fixed size so I really want to see it return struct ScriptCode([u8; SCRIPT_CODE_LEN]) with appropriate conversions to Script etc.

Why not move this to an extension trait? It sounds like a method that will wind up living in addresses anyway.

Oh, sorry, I was confusing scriptcodes with scriptpubkeys.

concept ACK. Will do a real ACK shortly once my testing queue gets to it.
Offline @tcharding mentioned to me that he was worried about how ugly the API was getting, even temporarily, citing this PR as an example. But actually I think this is fine. This specific method implements an obscure and (IMO) layer-violating aspect of BIP-141 and I would guess that no end-user has directly used it. It's needed to implement the sighashcache stuff or to directly implement your own sighash logic.
So I don't think anybody is going to be too put-out by us moving this method aside and making it harder to use. And I think we'll have a tricky discussion figuring out what to do with it once we've moved all the hashes etc. Personally I think that WPubkeyHash belongs in addresses, which would pull this method into addresses as well. Alternately, we could put WPubkeyHash into addresses, change this method to just take an untyped [u8; 32], and put it directly on ScriptBuf. Alternately still, we could pull WPubkeyHash into primitives as @tcharding is suggesting.
I don't have a super strong preference here. All the alternatives lead to things winding up where they "don't belong" and/or being weakly typed.

From memory, miniscript and bdk mess around with script code. Not sure if they use this function or do it themselves. I vaguely remember that this code was moved here from bdk, I could be wrong.

Looking at this again, I don't understand why this can't be an extension method on ScriptBuf. (But again, it should've really been ScriptCode or, really, it's used for encoding only - why not just pass around WPubkeyHash?)

All the alternatives lead to things winding up where they "don't belong" and/or being weakly typed.

Right, WPubkeyHash is needed for Address which doesn't need the rest of primitives and also for primitives which don't need addresses. I'm again pondering the possibility of having bitcoin-hash-types crate but that one is silly for other reasons.
I think having it in primitives is the least bad option.

bitcoin-addresses definitely needs primitives to get Script. And it will have an extension trait (one that we've already defined) which add scriptpubkey-related methods to Script. I think it's a reasonable argument to say that p2wpkh_script_code is a "scriptpubkey-related method". It even has p2wpkh in the name.
Directionally I agree that we could have a ScriptCode type or even just make this an encoding-only method on WPubkeyHash or SignatureCache or something ... but I don't know what API would be best. It's a weird method and not obvious where the most discoverable place to put it would be.

bitcoin-addresses definitely needs primitives to get Script.

I was thinking of making it optional so it can be used e.g. for frontend address validation without the compile cost of primitives. But maybe that's not really worth it.

It's a weird method and not obvious where the most discoverable place to put it would be.

I was thinking of:
trait EncodeScriptCode {
    type Encoder<'a>: Encoder;

    fn encode_script_code(&self) -> Self::Encoder<'_>;
}

Implemented on both WPubkeyHash and Script<Pubkey>. (Assuming we want to use encoders for sighash. It's probably not needed but we would lose _encode_signing_data_to methods which maybe people use.)

I was thinking of making it optional so it can be used e.g. for frontend address validation without the compile cost of primitives. But maybe that's not really worth it.

Neat! No, I think that'd be possible and fairly straightforward to do.

Implemented on both WPubkeyHash and Script<Pubkey>

It feels a bit weird that a user would actually have a WPubkeyHash and want to compute a scriptcode from it. Typically I would expect them to have a scriptpubkey/address. But I'm not sure.

Assuming we want to use encoders for sighash. It's probably not needed but we would lose _encode_signing_data_to methods which maybe people use

I think that people do use these methods because they're needed to determine the exact data that gets hashed. (Though maybe this is not so important; the workflow I was imagining where this is needed is an old pre-PSBT thing where you'd send a HWW data to hash and it'd validate it. Now I think that a HWW would validate a PSBT, then call a sighash computing method itself, and not ever need to see the exact form of the sighash.)
HOWEVER, these methods are already a bit of a mess due to the sighash_single bug. Maybe if we had a better trait to describe this mess we could make it clearer what's going on.

Neat! No, I think that'd be possible and fairly straightforward to do.

Oh, yeah, actually. For some reason I thought we're storing it directly but we're actually storing WitnessProgram.

Typically I would expect them to have a scriptpubkey/address. But I'm not sure.

A CompressedPublicKey rather - presumably derived from BIP32. There's no point converting it to address then to ScriptPubkey and then (fallibly!) extracting the hash from it when you can just (infallibly) convert the key directly.

Now I think that a HWW would validate a PSBT, then call a sighash computing method itself, and not ever need to see the exact form of the sighash.

Indeed, I believe it makes more sense. Even if PSBT was undesirable for some reason, I don't think that consensus encoding of hashed data is better - it doesn't have previous transactions.

these methods are already a bit of a mess due to the sighash_single bug. Maybe if we had a better trait to describe this mess we could make it clearer what's going on.

That bug is so obscure that no amount of traits or other Rust voodoo will fix it.

Love the feeling of fresh mind in the morning. All pubkey hashes belong to keys obviously.

Ok, yeah, agreed with that. This may even be "enough functionality" that we'd want to keep keys as its own crate permanently, rather than folding it into primitives as I'd wanted to do.
We could also try to put BIP32 stuff into keys so that keys became "the BIP32 crate"...but that's probably not what we want to do for a number of reasons, so I'll just throw the idea out there and not bring it up again until we've sorted that API out more.

so that keys became "the BIP32 crate

I'd rather not do that.


Levono.SynapticsTouchpadDriver version <IP_ADDRESS>

[ ] Have you signed the Contributor License Agreement?
[ ] Have you checked that there aren't other open pull requests for the same manifest update/change?
[ ] This PR only modifies one (1) manifest
[ ] Have you validated your manifest locally with winget validate --manifest <path>?
[ ] Have you tested your manifest locally with winget install --manifest <path>?
[ ] Does your manifest conform to the 1.4 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: codeflow:open?pullrequest=https://github.com/microsoft/winget-pkgs/pull/111266&drop=dogfoodAlpha

Check for a flag to bypass it on a computer via calling the help flag, otherwise this is interactive only.

Had to swap the V and N in the ISV name.


python -m grpcio_tools.protoc behaves counter to how it seemingly should behave

Heart of the matter: https://github.com/grpc/grpc/blob/master/tools/distrib/python/grpcio_tools/grpc_tools/protoc.py#L34-L36
Kinda related to #8753 but it seems like it hasn't really resolved.
What version of gRPC and what language are you using?
python3.6.9, python3.7.7
What operating system (Linux, Windows,...) and version?
tested on ubuntu 18, mac sierra
What runtime / compiler are you using (e.g. python version or version of gcc)
python3.6.9, python3.7.7
Env1:
grpcio           1.27.2
grpcio-tools     1.27.2
pip              20.0.2
protobuf         3.11.3
Env2
grpcio                   1.27.2
grpcio-health-checking   1.15.0
grpcio-tools             1.24.3
googleapis-common-protos 1.6.0
protobuf                 3.10.0
What did you do?
Please provide either 1) A unit test for reproducing the bug or 2) Specific steps for us to follow to reproduce the bug. If there’s not enough information to debug the problem, gRPC team may close the issue at their discretion. You’re welcome to re-open the issue once you have a reproduction.
git clone -b bug/grpcio https://github.com/xkortex/protosanity.git
cd protosanity/test
make test # this will succeed
make fail  # this will fail

What did you expect to see?
successfully generate foolib/protobuf/myservice_pb2_grpc.py
What did you see instead?
python -m grpc_tools.protoc --proto_path=foolib/protobuf --python_out=. --grpc_python_out=. ./foolib/protobuf/myservice.proto
foolib/protobuf/common.proto: File not found.
myservice.proto:3:1: Import "foolib/protobuf/common.proto" was not found or had errors.
myservice.proto:23:5: "MyImportedError" is not defined.
myservice.proto:26:5: "foolib.protobuf.MyImportedError" is not defined.
make: *** [fail] Error 1

If you instead run
PB_MODE=alt PB_ARG_IDX=1 python -m foolib.compile_pb --proto_path=foolib/protobuf --python_out=. --grpc_python_out=. ./foolib/protobuf/myservice.proto
which is analogous to
# protoc.py
if __name__ == '__main__':
    proto_include = pkg_resources.resource_filename('grpc_tools', '_proto')
    sys.exit(main(sys.argv[1:])

it works totally fine. If we set PB_ARG_IDX=0, we get foolib/protobuf/common.proto: File not found., and if we run
PB_MODE=protoc PB_ARG_IDX=1 python -m foolib.compile_pb --proto_path=foolib/protobuf --python_out=. --grpc_python_out=. ./foolib/protobuf/myservice.proto`

./foolib/protobuf/myservice.proto: File does not reside within any path specified using --proto_path (or -I).  You must specify a --proto_path which encompasses this file.

PB_MODE=protoc PB_ARG_IDX=0 gives the usual File not found,
which is really strange, because the proto path is in fact spelled out. sys.argv[0] should just be the script name, so I have no idea why it impinges on the protoc compilation process.
I can
	cd foolib/protobuf
	python -m grpc_tools.protoc --proto_path=. --python_out=. --grpc_python_out=. common.proto

but myservice.proto fails.
Finally, this recipe compiles, but the generated python is broken:
cd foolib/protobuf && \
	python -m grpc_tools.protoc --proto_path=. --proto_path=../../ --python_out=. --grpc_python_out=. common.proto && \
	python -m grpc_tools.protoc --proto_path=. --proto_path=../../ --python_out=. --grpc_python_out=. myservice.proto;

$ python -c "import foolib.protobuf.myservice_pb2"
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/Users/mike/wk/src/github.com/xkortex/protosanity/test/foolib/protobuf/myservice_pb2.py", line 26, in <module>
    dependencies=[foolib_dot_protobuf_dot_common__pb2.DESCRIPTOR,])
  File "/Users/mike/.virtualenvs/ml/lib/python3.7/site-packages/google/protobuf/descriptor.py", line 879, in __new__
    return _message.default_pool.AddSerializedFile(serialized_pb)
TypeError: Couldn't build proto file into descriptor pool!
Invalid proto descriptor for file "myservice.proto":
  foolib/protobuf/common.proto: Import "foolib/protobuf/common.proto" has not been loaded.
  foolib.protobuf.ProcResponse.err: "foolib.protobuf.MyImportedError" seems to be defined in "common.proto", which is not imported by "myservice.proto".  To use it here, please add the necessary import.
  foolib.protobuf.ProcResponse.err2: "foolib.protobuf.MyImportedError" seems to be defined in "common.proto", which is not imported by "myservice.proto".  To use it here, please add the necessary import.

Edit: you can now pip install protosanity/test and then start python -m foolib.server and then python -m foolib.client 'ls -lah' to run a test example (just runs the command passed on the server side).

Huh, so actually this does what I expected to to now:
	python -m grpc_tools.protoc --proto_path=. --python_out=. --grpc_python_out=. ./foolib/protobuf/common.proto
	python -m grpc_tools.protoc --proto_path=. --python_out=. --grpc_python_out=. ./foolib/protobuf/myservice.proto

I seem to remember this path structure/ protoc syntax not working a year ago, like it generated the wrong relative import path. Maybe I'm misremembering or had some minor yet significant difference.
Either way, it seems like both -I. and -Ifoolib/protobuf should work the same. Why does the latter break?

Please direct general question like this one to  https://stackoverflow.com/search?tab=newest&q=grpc is%3Aquestion
Your answer may already be there or you can post a new question if it's not.


Web file upload through front-side editing doesn't create a note attachment

There is a bug where uploading a file through the front-side editor results in a 404 when trying to view the file afterwards. The cause appears to be due to the uploaded file being missing on the note attachment on the created Web File record.
Steps to reproduce:

Login with content editing permissions
Create a new child file
Select a file and save the record
Get a 404 when trying to view the file at the expected URL
Open the web file record in Dynamics 365, see there isn't an attachment in the notes

The issue occurs specifically on web pages where there isn't an access control rule.

Fixed by commit https://github.com/Adoxio/xRM-Portals-Community-Edition/commit/11b9fa4f7836691736607ccd0494ff42ff0fa78e.


Creating a buffer with device local memory and client data causes validation error

Anvil Version: 18-09-03 (straight from github)
Vulkan SDK: <IP_ADDRESS>
Code:
std::array<uint8_t,1> data = {5};
auto bufferCreateInfo = Anvil::BufferCreateInfo::create_nonsparse_alloc(
	&GetDevice(),static_cast<VkDeviceSize>(data.size() *sizeof(data.front())),Anvil::QueueFamily::QUEUE_FAMILY_GRAPHICS_BIT,
	static_cast<VkSharingMode>(vk::SharingMode::eExclusive),static_cast<VkBufferUsageFlags>(vk::BufferUsageFlagBits::eUniformBuffer),
	Anvil::MemoryFeatureFlagBits::MEMORY_FEATURE_FLAG_DEVICE_LOCAL
);
bufferCreateInfo->set_client_data(data.data());
auto buf = Anvil::Buffer::create(
	std::move(bufferCreateInfo)
);

Validation error message:

[VK]  [ VUID-VkBufferCreateInfo-sharingMode-00914 ] Object: VK_NULL_HANDLE (Type = 0) | vkCreateBuffer: if pCreateInfo->sharingMode is VK_SHARING_MODE_CONCURRENT, pCreateInfo->queueFamilyIndexCount must be greater than 1. The spec valid usage text states 'If sharingMode is VK_SHARING_MODE_CONCURRENT, queueFamilyIndexCount must be greater than 1' (https://www.khronos.org/registry/vulkan/specs/1.0/html/vkspec.html#VUID-VkBufferCreateInfo-sharingMode-00914)

As far as I can tell the error only occurs with device local memory, and if client data is specified. I believe it has something to do with the temporary buffer created in Anvil::Buffer::write, which is created with the VK_SHARING_MODE_CONCURRENT flag.

After some additional testing, I can't seem to replicate this bug anymore. Not sure what the cause was, but it seems to have disappeared.


Line::intersectsLine() is buggy

Hello,
Unfortunately, the Line::intersectsLine() method doesn't always work correctly. Try this test:
<?php
declare(strict_types=1);
require 'vendor/autoload.php';

use Location\Coordinate;
use Location\Line;

$line1 = new Line(
    new Coordinate(0.0, 0.0),
    new Coordinate(0.0, 2.0)
);
$line2 = new Line(
    new Coordinate(2.0, 2.0),
    new Coordinate(0.0, 10.0)
);
if ($line1->intersectsLine($line2)) {
    echo 'Line::intersectsLine() is buggy!'.PHP_EOL;
}

Added a test for this issue: https://github.com/mjaschen/phpgeo/compare/master...fix/96
@nilshoerrmann It seems that there's a bug when checking for line intersection for some edge cases – do you have an idea for a fix/workaround?

I'll have a look at this over the next days.

From a quick look at the source, in intersectsLine() we have these conditions:
// the lines are collinear or touch
if (
    in_array(self::ORIENTATION_COLLINEAR, $orientation, true)
    && (new Intersection())->intersects($this, $line, false)
) {
    return true;
}

This only works if all points are collinear but fails if this is only true for three points (as in the example). So we would either have to switch to high precision for all calculations – (new Intersection())->intersects($this, $line, true) – or we would have to add a more precise condition that distinguises between three collinear points (setting precision to true) and four collinear points (settings precision to false).


Observe query on table changes and db connection idle

I'm using RxJava observe query on table changes
data.select(DbItemEntity::class.java) .orderBy(DbItemEntity.CHECKED.asc()) .get() .toSelfObservable() .subscribeOn(Schedulers.io()) .map { it.map { it.toAppModel() } } .observeOn(AndroidSchedulers.mainThread()) .subscribe { ... }
And after that when I made update in db and once again used select, the query didn't finish. In log I get only 'beforeExecuteQuery', 'afterExecuteQuery' didn't occure.
And I get information that connection is idle.
W/SQLiteConnectionPool: The connection pool for database '/data/data/pl.lizardproject.qe2016/databases/default' has been unable to grant a connection to thread 574 (RxIoScheduler-3) with flags 0x1 for 120.00101 seconds.                                                                                Connections: 0 active, 1 idle, 0 available.
My datastore configuration:
val source = SqlitexDatabaseSource(context, Models.DEFAULT, 1) source.setLoggingEnabled(true) val data = RxSupport.toReactiveStore(EntityDataStore<Persistable>(source.configuration))

How many queries do you have subscribed concurrently? Some possible solutions would be to use a single threaded Scheduler for subscription (instead of Schedulers.io() which is a pool). Also do you have the same problem using regular DatabaseSource vs SqlitexDatabaseSource? thanks

How are you updating the database using a transaction with several calls to insert/update or just a single call to insert/update?

just a single call

Can you post how you're doing your update? (example)

You can look at my code in repo - branch 'requery'
https://github.com/The-Lizard-Project/qe2016/tree/requery

Thanks for providing an example project that helped find the problem

Thanks a lot too! It works perfect now.

I still have this problem.


Move persisted_rooms to not be private.

We need to move the persisted rooms command on the robot to not be private.
Otherwise the adapters can't access the list of persisted rooms and therefore
can't recconect to them on start up.

Thanks for the PR! I don't think this is actually necessary, though. I haven't updated the docs site yet but briefly mentioned this in the release notes:

Adapters can use this persistent list to keep track of which rooms the robot should join when it starts. The :loaded event now includes a new key/value pair in its payload: :room_ids, containing an array of string IDs of these rooms.

The persisted_rooms method is an implementation detail and should remain private.

Ok so you are suggesting that the adapter look directly into the persisted_rooms set in Lita and use that to determine which rooms to join?

Nope, use the values passed in the payload of the :loaded event. See my comment on your lita-hipchat PR.

You were right. This is needed.


Is it possible to install devtools extension?

Can i install for example react-devtools extension?

Depends on what DevTools functionality the react devtools extension is using. Due to the limitation of JavaScript it was only possible to implement a subset of the DevTools protocol.


tap: don't presume Formula/ if untapped

[X] Have you followed the guidelines in our Contributing document?
[X] Have you checked to ensure there aren't other open Pull Requests for the same change?
[X] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you written new tests for your changes? Here's an example.

I recently decided to switch from using our own version of qt4 without webkit to the cartr/qt4 tap, since they now have a version without webkit as well (https://github.com/osrf/homebrew-simulation/pull/240). I'm seeing errors when running brew test-bot (for example brew test-bot gazebo7 on that branch):
$ brew test-bot gazebo7 --verbose
...
==> brew uses --recursive osrf/simulation/gazebo7
test-bot: Formulary.factory(osrf/simulation/gazebo7)
brew tap cartr/qt4
==> Tapping cartr/qt4
Cloning into '/usr/local/Homebrew/Library/Taps/cartr/homebrew-qt4'...
remote: Counting objects: 294, done.
remote: Total 294 (delta 0), reused 0 (delta 0), pack-reused 294
Receiving objects: 100% (294/294), 59.66 KiB | 0 bytes/s, done.
Resolving deltas: 100% (186/186), done.
Checking connectivity... done.
Tapped 21 formulae (46 files, 137.1KB)
Error: No available formula with the name "cartr/qt4/qt@4"

With some sleuthing, I traced the failure to a line in tap.rb that was modified in #2325 (https://github.com/Homebrew/brew/pull/2325/commits/d1995dad4bf76b447d9c97f1c2db99c6b3854b51#diff-5f336a727e42d98a4d5125c8972b6c07R288) that seems to presume that a tap is keeping its formulae in a Formula/ folder. Reverting this change allows test-bot to proceed for me.
I can think of two options, though there are quite possibly more:

Revert that one-line change by merging this PR. This may break other things.

Require that taps store their formulae in a Formula/ folder. This would require work from many tap maintainers.

I can think of two options, though there are quite possibly more:
Revert that one-line change by merging this PR. This may break other things.
Require that taps store their formulae in a Formula/ folder. This would require work from many tap maintainers.

Neither of these should be necessary; this is a fall-back after seeking to detect where taps do actually store formulae. Can you try to add --debug to a relevant failing brew command?

Sure, I ran two tests using the master branch with cartr/qt4 pre-tapped and untapped (full logs here). When converting dependencies to_formula in brew-test-bot.rb:599, the pre-tapped case has the following console message (line break added) with the correct location of the qt@4 formula (without Formula/):
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::TapLoader):
 loading<EMAIL_ADDRESS>
After that message it does a few more dependencies and then continues on.
Running the same command with cartr/qt4 untapped gives a slightly different console message with a Formula/ injected before the file name:
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::TapLoader):
 loading<EMAIL_ADDRESS>
After that, it taps cartr/qt4, tries to load that file (which doesn't exist because of the extra Formula/, and fails:
==> Tapping cartr/qt4
Cloning into '/usr/local/Homebrew/Library/Taps/cartr/homebrew-qt4'...
remote: Counting objects: 294, done.
remote: Total 294 (delta 0), reused 0 (delta 0), pack-reused 294
Receiving objects: 100% (294/294), 59.66 KiB | 0 bytes/s, done.
Resolving deltas: 100% (186/186), done.
Checking connectivity... done.
Tapped 21 formulae (46 files, 137.1KB)
/usr/local/Homebrew/Library/Homebrew/brew.rb (Formulary::TapLoader): loading<EMAIL_ADDRESS>Error: No available formula with the name "cartr/qt4/qt@4"
/usr/local/Homebrew/Library/Homebrew/formulary.rb:100:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:233:in `load_file'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:92:in `klass'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:88:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:223:in `get_formula'
/usr/local/Homebrew/Library/Homebrew/formulary.rb:274:in `factory'
/usr/local/Homebrew/Library/Homebrew/dependency.rb:32:in `to_formula'
/usr/local/Homebrew/Library/Taps/homebrew/homebrew-test-bot/cmd/brew-test-bot.rb:599:in `block in formula'
...

I think the issue is that formula_dir is called before the tap is available, so it is just guessing where the formula is located.

The fix we've used on our CI is ensuring that all taps are manually tapped in advance. Alternatively I'd suggest this fix lives in brew test-bot itself which is the place where this error is. It would be useful to have it automatically tap any taps for missing dependencies.

@MikeMcQuaid I just noticed that test-bot.rb:647-653 will rescue from the TapFormulaUnavailableError, then tap and retry, but it is still failing because the fallback file location with the Formula/ is still being used. Does the formulary or TapLoader have a cache or something?

hm... maybe it's the FORMULAE map in Formulary that is storing the wrong value

https://github.com/Homebrew/brew/blob/master/Library/Homebrew/formulary.rb#L47

Sorry for the noise, I don't know exactly where the problem is, but I thought that making a pull request would be better than making an issue. I'm still tracking down the problem.


chore(news): hexo 5.3.0 released

Check List
related to https://github.com/hexojs/hexo/pull/4575
Please read and check followings before submitting a PR.

[ ] I want to publish my theme on Hexo official website.

[ ] I have read the theme publishing doc.
[ ] name is unique.
[ ] link URL is correct.
[ ] preview URL is correct.
[ ] preview URL web site is rendered correctly.
[ ] Add a screenshot to source/themes/screenshots.
[ ] Screenshot filename is same as value of name.
[ ] Screenshot size is 800 * 500.
[ ] Screenshot file format is png.

[ ] I want to publish my plugin on Hexo official website.

[ ] I have read the plugin publishing doc.
[ ] name is unique.
[ ] link URL is correct.

[x] Others (Update, fix, translation, etc...)

Languages:
[ ] en English
[ ] ko Korean
[ ] pt-br Brazilian Portuguese
[ ] ru Russian
[ ] th Thai
[ ] zh-cn simplified Chinese
[ ] zh-tw traditional Chinese

LGTM!


Enable extension developers to provide their own esbuild.config.mjs or to extend esbuild

I was looking to write an extension, but I've seen that the build works with the ray CLI and it's hardcoded to Typescript.
I'm aware that you're using esbuild under the hood. Would it be possible to enable developers to configure esbuild so that we can write extensions in other languages that target js? For example, extension developers might want to develop extensions in Scala.js or Clojurescript —Purescript, or who knows what other language— which esbuild can integrate with through a custom plugin. Enabling developers to provide the esbuild plugin code or configuration for that would be nice as we can reuse those rich ecosystems to write React apps (that target Raycast's own backend).
I understand this is a bit of a power user feature, but I'm not a Typescript power user  so I'm asking to use something else because, at some point, I expect others will be in a similar position as myself.
Raycast version: v1.42.2

Thanks for the feature request. We want to stick with only JavaScript and TypeScript and avoid any other supersets because it ensures that everyone is on the same page when it comes to reviewing and contributing to the extensions. Therefore, I'll close this issue as not planned 😊


VirtualService result to 503 for k8s inner coredns host without creating ServiceEntry

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description

Firstly, create the following vs:

---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: klink-route-inner-to-mock-inner
  namespace: ai-web-0
spec:
  hosts:
  - "inner-api.atms.cn"
  exportTo:
  - ai-web-0
  http:
  - match:
    - headers:
        x-klink-stress: {}
        x-klink-mock: {}
      uri:
        regex: "^/(get|post|api)/.*"
      port: 80
      sourceNamespace: ai-web-0
      ignoreUriCase: true
      sourceLabels:
        app: otel-server-v1
    route:
    - destination:
        host: otel-upstream-v1.ai-web-0.svc.cluster.local
        port:
          number: 80
  # 没配置gateways，必须配置默认路由
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: inner-api.atms.cn

Now, enter into a pod terminal in namepsace: ai-web-0, and access this host will got 503:

kubectl  exec -it -n ai-web-0  otel-upstream-v1-7b76f6b66f-95j46 sh
$ /app # curl -i http://inner-api.atms.cn/api/11327/3nLRof/ping
HTTP/1.1 503 Service Unavailable
date: Tue, 03 Dec 2024 07:01:43 GMT
server: envoy
content-length: 0

Secondly, create the ServiceEntry:

apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: klink-se-to-mock-inner-api
  namespace: ai-web-0
spec:
  hosts:
  - "inner-api.atms.cn"
  location: MESH_INTERNAL
  ports:
  - number: 80
    name: http
    protocol: HTTP
  resolution: DNS

Now access this host will got 200:

/app # curl -i http://inner-api.atms.cn/api/11327/3nLRof/ping
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8
date: Tue, 03 Dec 2024 07:07:38 GMT
content-length: 6
x-envoy-upstream-service-time: 2
server: envoy

Version
# helm list -n istio-system
NAME            NAMESPACE       REVISION        UPDATED                                 STATUS          CHART           APP VERSION
istio-base      istio-system    1               2024-09-10 16:44:07.348013335 +0800 CST deployed        base-1.21.1     1.21.1
istiod          istio-system    2               2024-09-10 16:46:03.313335804 +0800 CST deployed        istiod-1.21.1   1.21.1

kubectl:  1.27.6

Additional Information

inner-api.atms.cn this host is added to coredns:

# coredns configmap
rewrite name inner-api.atms.wps.cn istio-ingress.istio-ingress.svc.cluster.local

No response

  route:
    - destination:
        host: inner-api.atms.cn

This requires a service defined for this host, so this is correct behavior

This is working as expected. Istio does not utilize DNS like this. Something must be in its service registry (either via Service or ServiceEntry) to be a destination. There is no transparent forwarding to arbitrary hostnames.

@howardjohn Thanks very much for your explanation, I am still confused about this question. Beacuse generally i am using the VirtualService with ingressgateway, like this config:
---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: klink-route-inner-to-mock-inner
  namespace: ai-web-0
spec:
  gateways:
  - istio-ingress/llm-gateway
  hosts:
  - "inner-api.atms.cn"
  exportTo:
  - ai-web-0
  http:
  - match:
      uri:
        regex: "^/(get|post|api)/.*"
      port: 80
      sourceNamespace: ai-web-0
      ignoreUriCase: true
      sourceLabels:
        app: otel-server-v1
    route:
    - destination:
        host: otel-upstream-v1.ai-web-0.svc.cluster.local
        port:
          number: 80

Here we do not need a ServiceEntry for the inner-api.atms.cn host. Is it the reason that the ingress-gateway will do DNS discover for this host, but envoy sidecar will not do DNS when routing request?

@howardjohn Another question:

I have understand the destination/vs host in istio should be a FQDN host or a short name without dots that can be found in the service registry.
So the following vs that without gateway can work correctly for requests with host hbb-demo-1-v1.ai-web-0.svc.cluster.local even I have not created a ServiceEntry for it, but what will happen if I create a ServiceEntry  for this host  hbb-demo-1-v1.ai-web-0.svc.cluster.local  at the same time? Will it have some conflict?

---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: klink-route-svc-to-mock-svc
  namespace: ai-web-0
spec:
  hosts:
  - "hbb-demo-1-v1.ai-web-0"
  - "hbb-demo-1-v1.ai-web-0.svc.cluster.local"
  exportTo:
  - ai-web-0
  http:
  - match:
    - headers:
        x-klink-stress: {}
        x-klink-mock: {}
      uri:
        regex: "^/(get|post|hbb)/.*"
      port: 80
      sourceNamespace: ai-web-0
      ignoreUriCase: true
      sourceLabels:
        app: otel-server-v1
    route:
    - destination:
        host: otel-upstream-v1.ai-web-0.svc.cluster.local
        port:
          number: 80
  # default route
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: hbb-demo-1-v1.ai-web-0.svc.cluster.local
        port:
          number: 80

Here we do not need a ServiceEntry for the inner-api.atms.cn host. Is it the reason that the ingress-gateway will do DNS discover for this host, but envoy sidecar will not do DNS when routing request?

No - one case is matching a host header and the other is sending to it. They are completely different (and not related to gw or mesh). https://istio.io/latest/docs/ops/configuration/traffic-management/traffic-routing/#frontends-and-backends

@howardjohn Another question:

I have understand the destination/vs host in istio should be a FQDN host or a short name without dots that can be found in the service registry.
So the following vs that without gateway can work correctly for requests with host hbb-demo-1-v1.ai-web-0.svc.cluster.local even I have not created a ServiceEntry for it, but what will happen if I create a ServiceEntry  for this host  hbb-demo-1-v1.ai-web-0.svc.cluster.local  at the same time? Will it have some conflict?

---
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: klink-route-svc-to-mock-svc
  namespace: ai-web-0
spec:
  hosts:
  - "hbb-demo-1-v1.ai-web-0"
  - "hbb-demo-1-v1.ai-web-0.svc.cluster.local"
  exportTo:
  - ai-web-0
  http:
  - match:
    - headers:
        x-klink-stress: {}
        x-klink-mock: {}
      uri:
        regex: "^/(get|post|hbb)/.*"
      port: 80
      sourceNamespace: ai-web-0
      ignoreUriCase: true
      sourceLabels:
        app: otel-server-v1
    route:
    - destination:
        host: otel-upstream-v1.ai-web-0.svc.cluster.local
        port:
          number: 80
  # default route
  - match:
    - uri:
        prefix: /
    route:
    - destination:
        host: hbb-demo-1-v1.ai-web-0.svc.cluster.local
        port:
          number: 80

@howardjohn What about this question? Thanks.


Convert from Multiprocessing to Threading

The RFIQ card integration actually runs atop of Jython, which doesn't support multiprocessing, but doesn't have the GIL limitation either.

Just pushed this up.


Bug when combining @Factory with Generic Interface Type

Hi there,
I think I discovered a bug when using a Factory which creates a Bean with a generic interface:
class Test implements Function<Object, Object> {}
@Factory
class MyFactory {
@Bean
Test createTest() {return new Test();}
}

The problem is that io.avaje.inject.generator.SimpleBeanWriter uses the factory classes generic types (which are none in this example) for writing the static types in writeGenericTypeFields(). It should collect the generic types for all factory method return types and use them instead. In writeFactoryBeanMethod() it then uses method.buildAddFor(this.writer) and there references a missing static generic type field (in the example above it would reference TYPE_FunctionObjectObject which is missing).
I created a Pull Request for this :)
Thanks
Markus

I created a new PR with a fixed implementation and a test case.


chore: Upgrade libp2p to remove btcd dependency

Update go-libp2p-core and remove btcd as a dependency to avoid the incompatibility in Lotus produced by picking up a newer version of btcd.

@matejpavlovic, this should be ready for review and merge. I can confirm that it works in Lotus.


scripts: kconfig: Add dt_compat_get_inst_prop method

The dt_str_val method has been deprecated. This add an alternative
that uses compat and instance number to find a node and than
return the string representation or a passed default value.
This is necessary becase path is valid only at SoC directory. For
instance, a driver for a SPI bus need search for a compat based on
the instance to determine the proper configuration.
depends on: #22215
Example: how determine the right interface name from the device tree
node label.
at DT:

&foo0 {
	compatible = "manufacturer,device"
	status = "disabled";
	label = "FOO_0";
};
&foo1 {
	compatible = "manufacturer,device"
	status = "okay";
	label = "FOO_1";
};

at Kconfig:

DT_FOO      := manufacturer,device
DT_FOO_INST := 0
DT_FOO_DEF  := "default string on not match/error - optional empty"

config FOO
	string "text"
	default "$(dt_compat_get_str, \
		 label, \
		 $(DT_FOO), \
		 $(DT_FOO_INST), \
		 $(DT_FOO_DEF))"

The result is CONFIG_FOO="FOO_1"

An example of use was delivered too.

Rebase and Fix 364 line.
        if prop not in node.props:
            continue

to
        if prop not in node.props:
            break

I assumed that instance_no will be enough to check but testing in deep I saw inconsistencies.
&foo0 {
	status = "disabled";
	bar@0 {
		compatible = "man,bar";
		reg = <0x0>;
		label = "WPAN_0";
		status = "disabled";
	};
	bar@1 {
		compatible = "man,bar";
		reg = <0x1>;
		label = "WPAN_1";
		status = "okay";
	};
};

&foo1 {
	status = "okay";
	bar@0 {
		compatible = "man,bar";
		reg = <0x0>;
		label = "RF2XX_2";
		status = "okay";
	};
};

On this example the first instance should be /../foo1/bar@0 and must be the only one. The current version returns /../foo0/bar@0. At generated_dts_board.conf file I saw two instances /../foo0/bar@1 and /../foo1/bar@0.

PR that turns Node.instance_no into EDT.compat2nodes: https://github.com/zephyrproject-rtos/zephyr/pull/21592

Seems alright to me. Nice to have a function like that. Could be simplified a bit once #21592 is in too. Suspect most people are vacation at the moment.
Wonder if the function could just be called dt_compat_get too, since it also works for integers. Maybe there could be a dt_compat_get_array later if needed, that also takes an array index.

I agreed with you, make sense.

Rebase on top of dts: edtlib: Turn Node.instance_no into more flexible EDT.compat2nodes #21592

Mixing up DTS into Kconfig is, imo, a mistake.
After almost 3 years we have been using DTS, we are still not yet where we want to be (too many instance-centric options are still in Kconfig, etc..)
And that PR makes it worse by mixing both. Definitely not a good idea.

The initial motivation of this PR was an open discussion at #21402. I agreed with you after weeks looking around DT, fixups, Kconfig etc. I believe any driver definition/configuration must be on that place and not around.
I would like mention that there are DT improvements on #21592 and bug fix at 'scripts: dts: edtlib.py: Fix DT enabled node property' that probably need move forward.

Since there isn't movement here I'm closing.


Deployment: Figure out ways to integrate these tests to QA

Next step: Set up a little build system which loads your code from source files and then saves a binary workspace, which is what is used by the nightly QA runs


Extension and Flash versions fail to load

SWF: 26369cf69ad3b6a93b489f99831164b0de4147a5d52b29630458e03461c534a7 (Direct Link)
Both the Shumway Extension and Flash Player frames show the text, "Loading Menu..." then very briefly the status of a download, "Loading Menu 58K / 58K" and then both frames show the text, "Load Error".  This occurred each time that I loaded the page and I wasn't able to affect a different outcome.
The only difference between the players is that the Shumway frame would occasionally appear to skip the "Loading Menu 58K / 58K" text, presumably because it downloaded too fast for me to see it.

Thanks for the report. Given that there's no difference between Flash and Shumway, we can't really do much here, so I'm going to close the issue.


[BUG]: KCL LSP doesn't start in dev mode

Describe the bug
The KCL LSP doesn't start when running the app locally with yarn tron:start. It fails on this line https://github.com/KittyCAD/modeling-app/blob/main/src/wasm-lib/src/wasm.rs#L332 because there is a CORS error when trying to get the privacy settings. Commenting the error out and returning false instead lets the server start normally
Is there a reason not to just return false there instead of returning an error and bailing?
Steps to Reproduce
1: copy the .env.production to .end.development
2: open a sketch
3: see KCL LSP fail to start
4: changes in editor don't have any effect on sketch, highlighting doesn't work, etc
Expected Behavior
The KCL LSP should start and I should be able to make changes in the editor pane
Screenshots and Recordings
No response
Desktop OS
Ubuntu 24
Browser
No response
Version
main
Additional Context
No response

yeah thats fine we dont use it today at all anyways, the lang is changing too much


Not able to fetch tweets

I ran the given code yesterday and it successfully fetched all the tweets between specific dates for the mentioned tags however i have below concerns, please let me know your comments:

Are these the entire tweets for the specified interval( or is there any limit for a calendar day?)
When I am running the same script again with updated tags, I am not getting even a single tweet, please let me know the reason for this?

Thanks!

Hello @IamAmar,

Not the entire tweets, Twitter doesn't index all tweets to be searched by advanced search (got mimic this feature), so a few tweets are lost. If you are looking for tweets from a specific user it easier no notice that.

I don't which tags you have changed, but some people frequently report issues with ISP when searching using GOT.


Link to "Work item query language (WIQL) syntax" is a 404

On page
https://docs.microsoft.com/en-us/azure/devops/boards/queries/high-performing-queries?view=azure-devops
Link to "Work item query language (WIQL) syntax"
https://docs.microsoft.com/en-us/azure/devops/boards/queries/wiql-syntax.md
is a 404

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

ID: 15c46b38-ba33-b411-1acf-d0a221349862
Version Independent ID: e1136c17-154e-56e2-9eda-561cd00bcc93
Content: Learn how to create high-performing work item queries - Azure Boards
Content Source: docs/boards/queries/high-performing-queries.md
Product: devops
Technology: devops-agile
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

@ferzkopp - Thank you for the feedback. I'll fix it today.


Getting "exec /usr/local/bin/streamlit: exec format error" when the tasks launch followed by an exit 1

I haven't been able to get the initial deploy to fully complete yet as the ECS tasks are constantly failing with exec /usr/local/bin/streamlit: exec format error and hence failing the healthcheck so the deployment gets stuck in a loop.
Any idea what could be causing this?

Are you maybe building the Docker image (via cdk deploy) from an ARM laptop, like with an Apple M2 chip? I'm guessing the Docker image is ARM, but it's trying to run in a Fargate x86 container.

Are you maybe building the Docker image (via cdk deploy) from an ARM laptop, like with an Apple M2 chip? I'm guessing the Docker image is ARM, but it's trying to run in a Fargate x86 container.

Wow that was spookily specific and also spot on! Yep that's exactly it. thanks for that major pointer, I'll build it on an EC2 instance instead. Thanks @clareliguori !

This change e694ac9 should fix it, to force CDK to build the Docker image for the right platform on your Mac.

Oh awesome! Didn't know about that method 🙏🏼
On Sat, Mar 23, 2024 at 1:57 PM, Clare Liguori < @.*** > wrote:

This change e694ac9 (
https://github.com/aws-samples/amazon-bedrock-serverless-prompt-chaining/commit/e694ac9366aee47a9330fb9140a61ee90cd188b3
) should fix it, to force CDK to build the Docker image for the right
platform on your Mac.
—
Reply to this email directly, view it on GitHub (
https://github.com/aws-samples/amazon-bedrock-serverless-prompt-chaining/issues/213#issuecomment-2016601097
) , or unsubscribe (
https://github.com/notifications/unsubscribe-auth/AAOXEQCOY2CMN44I4D6HXULYZXUD7AVCNFSM6AAAAABFD4P64SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMJWGYYDCMBZG4
).
You are receiving this because you modified the open/close state. Message
ID: <aws-samples/amazon-bedrock-serverless-prompt-chaining/issues/213/2016601097
@ github. com>


Weird Issue with decimal masking when value is like 0.55

Hi,
I have a weird issue when using the following masking options. I am using jquery.inputmask.bundle.js * Version: 3.3.5-33
var maskOptions = {             alias: 'decimal',             radixPoint: ',',             groupSeparator: '.',             autoGroup: true,             digits: 2,             removeMaskOnSubmit: false         };
If the value is something like 12345.67 everything works fine and masking occurs correctly and displays my input field as 12.345,67
But if the value is in between 0 and 1 then masking occurs incorrectly. For example if the value is 0.50 then my input field shows 50 as the masked value. It should be 0,50 with comma as the radixPoint.
I am dynamically generating pages with Java and when the page is first generated i see the correct values in html source (ie. input field value attribute is correct). But when the document.ready function is called and when the inputmask is applied to the fields it just makes 0.50 -> 50
I wonder if there is something you can point me out. Thanks in advance.

I think "12345.67" works by accident. You should format decimal number coming from Java by converting dot to comma since dot is evaluated as groupSeparator.

@medhjai , @newmangreen ,
Can you have a try with the current on github.  Just submitted a fix for it


Clarify when to expect multiple Result vs when to expect multiple Segment

Feature Request
Is your feature request related to a problem? Please describe
When executing things that produce multiple result values, it is currently unclear when to expect:

Multiple Result values from the Statement::execute publisher
Multiple Segment values from the various Result::flatMap and other methods

Reverse engineering the drivers (I'm still on 0.9.x, maybe this has changed), I feel we have:

Multiple Result values

When running a Batch (multiple SQLs, no binds)
When running a ; separated statement batch in a single Statement, e.g. in SQL Server

Multiple Segment values

When running a Statement with batched bind values

There may be other cases, or inconsistencies. I don't have much confidence in my above judgement.
Describe the solution you'd like
I would like to see, in the Javadoc, some clarification about:

What the intent of the two ways of producing multiple results is, at least in the SPI
What users can expect from drivers

Note, we've probably discussed this elsewhere in the past, but I've forgotten. Thus, it would be great if the Javadoc specified this.


Per pixel token

Added ability to specify custom access token for Pixel.
If custom access token was not provided at Pixel admin form, default access token will be used from plugin configuration (FACEBOOK_ACCESS_TOKEN).

This 'Reset failed events' functionality. What's the intended use of that? I practice do you think it will be used?

This 'Reset failed events' functionality. What's the intended use of that? I practice do you think it will be used?

Someone configures the plugin and adds the wrong token or something like that - and get thousands of failed events.
After fixing the token - he would like to reset failed state from events, so they resent again (to not miss valuable marketing-related data)
So he click that button and boom - data not missed, marketing guys happy make another sale and drink a bottle of champagne :)


Add ability to press return in search results

If I did a global search (cmd+shift+f), then pressed cmd+return to see the results in the file. I'd love to be able to press return when I am hovering some line to open the file where the line is. Currently I have to double click on the line (not keyboard friendly).

Looks like you can already use existing editor.action.goToDeclaration with proper context inSearchEditor to achieve this
{
    "key": "enter",
    "command": "editor.action.goToDeclaration",
    "when": "inSearchEditor"
}

Amazing. Thx

Now it also triggers when I am trying to do a search inside the file:

Is it possible to make it work only when the search is done?

I guess I have to extend the when clause to also consider only in the case of when inFileSearch is not open?

Are you doing search inside of Search editor?
Because I haven't problems with search widget in regular files.
Probably "when": "inSearchEditor && editorTextFocus" should do the trick.
@JacksonKearl do you know what when is best suited here? Docs don't even have inSearchEditor

inSearchEditor && editorTextFocus seems good to me. Good point about the missing docs, made a new issue to track.

It worked, thanks all ❤


Option for different color for linting errors

I'd like to be able to differentiate visually linting errors in VSCode. The main reason being, if I see red, I know I have something to fix as it won't even compile (let's say a TypeScript error). If I see another color (other than warnings), I'll know it'll still compile (might even autoformat on save) and I can fix the linting issue while it's building.
In other words, I'd like to be able to differentiate between ESLint errors and other errors.
I believe VSCode has editorInfo.foreground and editorHint.foreground on top of editorError.foreground and editorWarn.foreground. Maybe those could be used?

Hey! Just want to share with you that there is also a way to distinguish between compile and eslint errors with ErrorLens and "errorLens.messageTemplate": "$source $message" setting. It looks like this:

But sometimes I also use "eslint.rules.customizations": [{ "rule": "*", "severity": "downgrade" }] setting to turn eslint problems into warnings.

@Avasam this is nothing ESLint can influence. If this is necessary it has to come either as new API from VS Code or as a setting in VS Code itself. I will close the issue as upstream.

Are you sure about this? Other plugins can already let VScode know whether something should show up as Error, Warning, Information or Hint.
For example, in the workspace's settings.json you would have:
eslint.severity: {
  "parse": "Error", // ES parsing errors and things that prevent eslint from loading
  "error": "Warning",
  "warn": "Information",
}

For reference, this is how it's done in pylint and flake8:


provide a command to check schema definitions

I tried nix run github:DeterminateSystems/nix/flake-schemas -- flake show, but that fails in the check phase. I got it integrated in my flake with a bit of jiggering:
inputs.nix-schema.url = "github:DeterminateSystems/nix/flake-schemas";

pkgs = import nixpkgs {
  inherit system;
  overlays = [
    (final: prev: {
      nix-schema =
        nix-schema.packages.${system}.nix.overrideAttrs (old: {
          doCheck = false;
          postInstall = old.postInstall + ''
            mv $out/bin/nix $out/bin/nix-schema
          '';
          doInstallCheck = false;
        });
    })
  ];

$ nix-schema flake show
nix-schema flake show
git+file:///…/project-manager
⋮
├───projectConfigurations
│   ├───aarch64-darwin: Project Manager configuration for this flake’s project [project-manager-generation-for-project-manager]
│   ├───aarch64-linux omitted (use '--all-systems' to show)
│   ├───x86_64-darwin omitted (use '--all-systems' to show)
│   └───x86_64-linux omitted (use '--all-systems' to show)
├───projectModules
│   ├───direnv: Project Manager module
│   ├───editorconfig: Project Manager module
│   ├───files: Project Manager module
│   ├───flakehub: Project Manager module
│   ├───flakestry: Project Manager module
│   ├───garnix: Project Manager module
│   ├───git: Project Manager module
│   ├───github: Project Manager module
│   ├───just: Project Manager module
│   ├───mercurial: Project Manager module
│   ├───news: Project Manager module
│   ├───project-environment: Project Manager module
│   ├───project-manager: Project Manager module
│   ├───renovate: Project Manager module
│   ├───shellcheck: Project Manager module
│   ├───submodule-support: Project Manager module
│   ├───treefmt: Project Manager module
│   ├───vale: Project Manager module
│   ├───version: Project Manager module
│   └───xdg: Project Manager module
└───schemas
    ⋮
    ├───projectConfigurations: flake schema
    ├───projectModules: flake schema
    └───schemas: flake schema

But that seems like more work than a user should have to do. Maybe it's as simple as fixing the PR and mentioning nix run … in the README, but something where users can trust their schemas are reasonable before pushing to FlakeHub would be great.

This is just using the branch for NixOS/nix#8892. Merging that would make this issue redundant (once a new nix is released).

Yeah that's elegant, for sure. However, having various versions of Nix is, IMHO, not the most practical ways of using it.

Yeah that's elegant, for sure. However, having various versions of Nix is, IMHO, not the most practical ways of using it.

Absolutely – this is just a workaround until 🤞🏼 NixOS/nix#8892 is merged. If there’s a better workaround, I’m open to it. I wanted to avoid using that branch as my default nix to avoid any compatibility issues.


erlang: 23.3.2 -> 23.3.4

Motivation for this change
erlang version update
closes https://github.com/NixOS/nixpkgs/pull/122024
Things done

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

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

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

@gleber let me know if you have time to test on elixir 1.11.4.
If you're short on time, no worries, I think this is good to merge.

I really think it's fine to merge this. I'm just going to go ahead, I'll debug with anybody who has a problem.


Node search

This is the node search enhancement discussed in #120, considering the search query optimizations and an explicit search button instead of auto-search. The fork is fully up to date with the latest master branch.

Thanks @iegomez!
A couple of comments:

To add the index, the user needs to setup an extra plugin. Would there be a way to avoid this? That way users are able to upgrade without any additional steps :-)

E.g. there are already a couple of fields where you can search on username (prefix). We could maybe apply the same to the device table? I did a quick test with the following:
create index idx_node_dev_eui_prefix on node (dev_eui, encode(dev_eui, 'hex') varchar_pattern_ops);
drop index test_index;
explain select * from node where encode(dev_eui, 'hex') like '01%';

See also: https://github.com/brocaar/lora-app-server/blob/master/internal/storage/user.go#L296 and https://github.com/brocaar/lora-app-server/blob/master/migrations/0014_users_and_application_users.sql#L14
Btw: In the code I'm using this in the query where ($3 != '' and username like $3) or ($3 = ''). I'm not sure if this is strictly required (e.g. when there is nothing to search on, the first block would evaluate to true as it does not have to hit the index for comparison).

There might be some changes you still need to make in the tests as the tests are currently failing

Please note that the migrations both have a -- +migrate Up and -- +migrate Down section!

Hi, @brocaar!
Regarding the pg_trgm extension, as far as I know there is no way to bypass it, nor install it within a migration, it needs to be created as a superuser directly in the DB, which was also my concern on the discussion at #120. If you think prefixes are good enough for searching purposes, then let's go with that approach. I'll also add the empty string check you mention.
Btw, I think there's a little inconsistency in your users code: though you only match prefixes on the GetUsers function, you match any substring at the GetUsersCount function at https://github.com/brocaar/lora-app-server/blob/master/internal/storage/user.go#L279, which would not only incur on a seq scan, but also give a different users count than GetUsers. Am I missing something there?
Finally, my bad with not dropping the index at migrate down, I just forgot to put it there on the updated version. I think that the failed test has to with this also.

@brocaar, I made all the changes and everything seems to be ok, but checks fail. The odd thing is that when checking the details in the travis build, there's no failure in any test. Storage user checks -which should be the last before migrations- do pass, and then it just exits with error 2. I'm not sure what's going on there, do you have any clues?

Cheers! Will test it tomorrow and then merge into master :-)

Nice! I just added a little fix (I accidentally erased a couple of lines before), tested it locally and search was working fine.
Besides that, any comments about the users search that I mentioned? Is there a reason for the double wildcard on GetUsersCount? If not, let me know to include that fix too.

Just tested it and it works great :-) I have a few more tiny comments, then it is good to be merged into master :-) I'll make the comments inline.

Btw, I think there's a little inconsistency in your users code: though you only match prefixes on the GetUsers function, you match any substring at the GetUsersCount function at https://github.com/brocaar/lora-app-server/blob/master/internal/storage/user.go#L279, which would not only incur on a seq scan, but also give a different users count than GetUsers. Am I missing something there?

You're right. If you could fix this (I think remove the prefix % should do it), that would be welcome :-)

I just added that fix to the PR.

@iegomez, did you see my other (inline) comments?

No, sorry, I didn't get any notifications and didn't see any in the files changed tab. Where should I look?

Yo should see them here in the conversation tab (scroll a bit up) and as inline comments here: https://github.com/brocaar/lora-app-server/pull/162/files.

I think they are not visible to everyone right now, and I wasn't notified of any comments (which should normally happen). From github docs:

Before you submit your review, your line comments are pending and only visible to you. You can edit pending comments anytime before you submit your review. To cancel a pending review, including all of its pending comments, scroll down to the end of the timeline on the Conversation tab, then click Cancel review.

Anyway, I made 3 little changes that could be related to your comments:

pageSize was set to 2 instead of 20 on ListNodes.js. I changed it back.
The installations docs mentioned connecting to the DB, which was necessary to install the pg_trgm extension. I removed it.
The search indexes migration lacked a final new line. I added it.

If there's anything that I missed, please submit your review so I can see the comments, or just comment here.

Ah, that explains. They recently updated the code-review. Wasn't aware that I needed to do a final submit of it. Thanks for mentioning :-)

Thanks for all the work @iegomez, your changes have been merged 👍 I've made one additional change, see f122d5b0a4760759fb92120d239c8328719daeaa. With this change the search form is moved to the panel heading.

Great! Hope it helps.


where is the inference code?

It's fairly easy to convert https://github.com/mit-han-lab/pvcnn/blob/master/train.py#L122-L144 to the inference code.


Streamline APK ELF build ID retrieval

Please see individual commits for descriptions.

Including the remaining pieces for APK ELF address symbolization now as well.

Patch coverage: 96.77% and project coverage change: +0.54 tada

Comparison is base (e25f7d4) 84.61% compared to head (e374fc6) 85.15%.

85% code coverage!


fix: sync cluster Workflow Template Informer before it's used

After Controller leader election we need to make sure cluster Workflow Template Informer's cache is updated first. Otherwise, we call Lister() on it before it's ready.
Signed-off-by: Julie Vogelman<EMAIL_ADDRESS>Fixes #8956

https://github.com/argoproj/argo-workflows/blob/master/workflow/controller/controller.go#L268-L280

sure, I could switch them


Submit marked files in dataset for extraction

Add a Mark All option for files in a dataset, and Submit option for marked files. Cleared up some naming as well based on feedback. Now the Marked Files dropdown is active even with 0 selections so Mark All is reachable.

Great catch, thanks @bodom0015 .
Updated so now Submit only shows if RMQ is enabled and not if disabled.


after update no login possible

After updating HA, the login no longer works. It will show error "Login failed for info@XX, Cannot connect to host identity.vwgroup.iologin:443 ssl:default [Name does not resolve]" in the log. Unfortunately, solving "@[DrIc03R]" doesn't help either. Please update, thanks in advance.

Duplicate of #22


Update grid.py

I updated the Arrhenius equations for substrate degradation and uptake to match the equations in enzyme.py. I have also changed the parameter rate from the Allison equation to the original values from the Allison 2012 paper. Is there a reason why you have lower values for these parameters?

The reason having lower values here is following Allison and Goulden (2017) SBB.  Works if going back to the values in the 2012 paper.


Relative volume query change

Hello It seems like the   'Relative Volume': 'relative_volume_10d_calc'  no longer works.  It seems like the general 10 day relative volume has been changed to custom values.

I'll have a look at this

Did you check in constants.py?
That column is indeed present there with all the timeframes in your picture. I tested it and it still works.

To learn more about the timeframes check this out.

I didnt see them in the constants before sorry. I must have missed it I only saw the intraday before. Thank you for the quick response, and the project its such a huge help keep up the great work!!

Thank you! glad you are enjoying the project. If you have any recommendations I'm always open to feedback, cheers


Throw AssertionFailedError instead in non-strict string assertions

Check List:

Fixes #1331
Unit tests : YES
Javadoc with a code example (API only) : NA

Integrated thanks @sunlaud !


IBackgroundCopyJobHttpOptions has the wrong uuid

https://github.com/retep998/winapi-rs/blob/6a9df5f3e7d1c98bf6cd48c0bf334367450a122f/src/um/bits2_5.rs#L23
Based on my 10.0.15063.0 bits2_5.h, this should be f1bd1079-9f01-4bdc-8036-f09b70095066. 83E81B93-0873-474D-8A8C-F2018B1A939C is the IID of IBackgroundCopyFile2, which is correct in bits2_0.rs.
This seems to work locally:
RIDL! {#[uuid(0xf1bd1079, 0x9f01, 0x4bdc, 0x80, 0x36, 0xf0, 0x9b, 0x70, 0x09, 0x50, 0x66)]

Fixed by https://github.com/retep998/winapi-rs/pull/737


feat: Allow server-side import

:tada: This PR is included in version @typeform/embed-v1.0.0-next.6 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version @typeform/embed-v1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Unhandled rejection MongoError: command listIndexes requires authentication

**Node versionv10.22.1:
Sails version (1.4.0):
ORM hook version (2.1.1):
Sockets hook version (2.0.0):
Organics hook version (sails-hook-organics):
Grunt hook version (sails-hook-grunt):
Uploads hook version (sails-hook-uploads):
DB adapter & version (e.g. sails-mongo@1.2.0):
Skipper adapter & version (e.g. skipper-s3@5.55.5):

i get this error when i run sails app in ubuntu although all db credentials are fine and migrations are successfull
    at Function.MongoError.create (/root/crypton/node_modules/connect-mongo/node_modules/mongodb-core/lib/error.js:31:11)
    at queryCallback (/root/crypton/node_modules/connect-mongo/node_modules/mongodb-core/lib/cursor.js:200:36)
    at Callbacks.emit (/root/crypton/node_modules/connect-mongo/node_modules/mongodb-core/lib/topologies/server.js:119:3)
    at Connection.messageHandler (/root/crypton/node_modules/connect-mongo/node_modules/mongodb-core/lib/topologies/server.js:397:23)
    at Socket.<anonymous> (/root/crypton/node_modules/connect-mongo/node_modules/mongodb-core/lib/connection/connection.js:302:22)
    at Socket.emit (events.js:198:13)
    at addChunk (_stream_readable.js:288:12)
    at readableAddChunk (_stream_readable.js:269:11)
    at Socket.Readable.push (_stream_readable.js:224:10)
    at TCP.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)

when i lift the same app on windows with same credentials no error is emitted and the app is fine

Hi @steveyout, Is the database that you're trying to connect to on ubuntu the same one that works on windows, or are you seeing this error with a local database?

soryy it was a mistake.i had enabled mongodb authentication and only changed the connection details in datastore but forgot to change also in sessions


Templates for node values

Add templates for generic features at nodes and values stored at leaf nodes.

Fix in #12.


Should nofollow be added to signature and website links

http://www.elkarte.net/community/index.php?topic=2345

If I'm not wrong, this would at least require a new parameter for parse_bbc to evaluate at each call (not when defining the codes array). Right?

Humm for the signatures bit?  Should be just a template change for the website stuff.

Yep, I forgot to say I was thinking about signatures, sorry. lol

Yup, thinking about it a bit that is probably the cleanest way to deal with them :nods:

Ugh. This is not at all what Google is looking for you to do.
The occasional signature link does not negatively impact you. If you want to make it better, you could implement 'one signature per poster per page', so that they are not repeated, but what Google is doing is checking for a specific pattern in posts that rarely shows up legitimately, even on sites prone to it like mine.
nofollow has no relevance to this.

Thats to bad (that no follow will not work) :disappointed:

As I mention in the forum post, the best thing you can do is to make sure content is repeated as little as possible. The less repetition, the more Google is okay with it.
This goes for everything - signatures, branding links, etc.

So no need for this change in 1.0.3?

I would not recommend forcing nofollow. At best it should be an option.
A better solution is to make sure a given signature only appears once per page.

I would ditch signatures altogether. lol (Well, it wouldn't be that silly, except people expect to be able to have a signature.)
Anyway, what @Vekseid said and maybe also an option to hide signatures to guests entirely (I can't see it at the moment)? It could simply be based on permissions I guess.

I think we should move this to 1.1 ... maybe have the only show signatures once option in the ACP, or simply just "do it" ... if a member has more than one post on a page, only the last one has the signature or should that be the first ... nah last I think.

nods

The only problem with last is that it's difficult to catch...

Don't know if we could do this via css/js ... if the signatures have a class/id/other assigned by member id.  Then display hidden by default  get all .signaure_mem_x and turn on the last one?    Not sure if google still process hidden stuff though.

Google would probably frown on that.

I've seen other forums using the signature only on the first post in a thread and it tidies the thread immensely both for Google's algorithm - which frowns on repetition - and for the user visually.
I would agree that rel="nofollow". Regardless of Google's thoughts on the matter (sources?), it is standard practice to add for user-generated links that may not weigh-in on your site's subject.

https://support.google.com/webmasters/answer/96569?hl=en

Yeah, doing it on the first post in the thread is easy. The last is harder.
Having nofollow as an option is fine, but I think it's done a lot of harm to the spirit of the web, and I have no desire to force it on my users.


Add try/catch block

Fixes #344
Wrap process accessing API by try/catch block.

[x] npm run test succeeds.
[x] npm run lint succeeds.
[x] Appropriate changes to README are included in PR.

fixed

Actually, a better design would be something like this:
utils.ts
/**
 * Handles error when making an API request.
 */
export function scriptApiErrorHandler(method:Function): void {
  try {
    method();
  } catch (e) {
    spinner.stop(true);
    return logError(null, e.message);
  }
}

Then wrap each method with a error handler function:
commands.ts
commander
  .command('clone [scriptId] [versionNumber]')
  .description('Clone a project')
  .action(clone);

// ->

commander
  .command('clone [scriptId] [versionNumber]')
  .description('Clone a project')
  .action(handleAPIError(clone));

Then we don't need any try/catch blocks in our commands.ts.
What do you think?

I think you may be right:
 .action((...args) => handleAPIError(clone, args));

I want to implement it according to this comment .
https://github.com/tj/commander.js/issues/505#issuecomment-244988124
/**
 * Handles error when making an API request.
 */
export function scriptApiErrorHandler(command: (...args) => Promise<void>) {
  return async (...args: any[])=> {
    try {
      await command(...args);
    } catch (e) {
      spinner.stop(true);
      logError(null, e.message);
    }
  }
}

commander
  .command('clone [scriptId] [versionNumber]')
  .description('Clone a project')
  .action(handleAPIError(clone));

What do you think?

That plan looks great.

Thanks!
I will close this and make a another PR.


Self Hosted Docker DX improvements

There are some things that would help onboarding for new self hosted installs:

The default install creates an Organisation and Project, but does not create any Environments for that Project. We should add the 2 Environments (Development and Production) that are created when a new project is set up in the SaaS platform.

It's not possible to create a second project as we limit open source to 1 project, but there's no helper text to explain this. We should add text that states:

Self hosted Flagsmith installations are limited to 1 Project. Learn more with our version comparison.

What I'm failing to understand here: How am I supposed to run Flagsmith on Flagsmith as explained in the docs when I'm unable to create a 2nd project? Am I expected to mix Flagsmith's feature flags with my own in this case?

Hi @levrik, no, you can create a second organisation to hold this project.

@matthewelwell I thought creating a 2nd organisation isn't possible but just found the button on the UI. TBH it's not very obvious 😅