[ENH] - Investigate moving to a plugin based architecture

Feature description
There are currently lots of tools in the python packaging/environment space including:

conda
mamba
pixi

It would be nice to be able to swap out backends for doing actions like solving, locking and package management.
Value and/or benefit
Using a plugin  based system conda store developers will be able to quickly experiment with new technologies to integrate into conda-store.
Anything else?
Start with a prototype of conda-store using plugins for locking. So, conda-store should have all the same functionality with a configurable locking mechanism.

Thanks! I'm not sure if we need a full plugin system (with discoverable entry points à la pluggy etc) or just an ad-hoc configurable backend where we swap different implementations of the same interface. Would be good to clarify that, but I'm partial to not using pluggy for now and instead have a base class that defines the interface, and then subclasses that implement the desired integration. Something like:
conda_store.backends.base:BaseBackend
conda_store.backends.conda:CondaBackend
conda_store.backends.conda_lock:CondaLockBackend
conda_store.backends.micromamba:MicromambaBackend
conda_store.backends.pixi:PixiBackend

Maybe we need several interfaces for each stage (solve, lockfile, link to disk), or maybe they are different methods of the same interface. To be seen.

I started working on a prototype here https://github.com/conda-incubator/conda-store/compare/main...soapy1:conda-store:plugin-demo if you want to take a look.
This set's up 2 plugins for conda lock (the implementation of the plugins is the same, except for their names and logging - so that I can test swapping between plugins).
Some notable things in the prototype (at this point):

introduce a plugin manager - this holds all the registered plugins and provides a way to access them
add a config parameter to choose a locking backend
adds a locking plugin interface
do locking from a plugin

Some things on my radar to look into:

look into pluggy
sorting out plugin discovery/configuration/init-int
working out actions/tasks should interact with plugins

I setup another little demo using pluggy as the plugin manager https://github.com/conda-incubator/conda-store/compare/main...soapy1:conda-store:plugin-demo-pluggy.
I think this approach is also ok. It's nice that pluggy takes care of some things like enforcing a stricter adherence to a hookspec. However, pluggy will execute all registered plugins. Which means we need to sort out the issue of working out something like a "task context" for every task that gets run. The task context would be responsible for doing stuff like registering all the appropriate plugins (and then deregistering them if appropriate).
Some pros and cons of pluggy vs a home rolled plugin manager:

pluggy

pros - fully thought out and featured plugin manger
cons - seems like it'll be a bigger lift to implement. Will need to rethink how we are running tasks and how to compose plugins
cons - not clear if you can call a plugin from within a plugin - seems like not possible

home rolled plugin manager

pros - we have complete control over how it works
cons - will take more time to build out more advanced features (like, pluggy's strict adherence to hookspecs)

I think it would be worth it to continue flushing out the pluggy version prototype.

Providing a little update here. I've pushed some more changes to https://github.com/conda-incubator/conda-store/compare/main...soapy1:conda-store:plugin-demo-pluggy
Some notable things that this adds:

locking and storage are both plugins
pluggy is used for plugin registration + hooks
we also have a plugin registry which collects all the plugins that are available for pluggy
which plugin to use can be configured by name (eg. so before you had to import the S3Storage class to use the s3 storage backend. Now, you can select it with the plugin name "s3-storage"
Introduces a "build context", this has some helpful bits for executing a build action, including access to a db session, namespace/environment specific settings, and a reference to the conda-store app. It also loads and build time specific plugins. There is an example of registering/unregistering the lock plugin at build time (in the future, users may be able to specify settings/plugins to load per namespace/environment)
there is an example artifact plugin for building a conda env export. There is also an example of using this plugin directly in a build task (pulling from the plugin registry)

There are definitely ways this can be extended. Some other ideas that would be nice to explore

support for user installed plugins/plugin discovery
implement all actions that build artifacts as plugins
a nice next plugin could be a log plugin so conda-store could log to multiple endpoints at a time (for building the log artifact type + collecting build logs for operators)

This is excellent @soapy1! So much progress! 🚀

support for user installed plugins/plugin discovery

Isn't this done by pluggy already via Python entry points? 🤔

Isn't this done by pluggy already via Python entry points? 🤔

Kind of. Pluggy provides tools for registering user plugins pretty easy. But we don't want to load all available plugins all the time. For example, if we have 3 storage plugins, we usually only care about having one configured. Right now this is resolved with the addition of the plugin registry https://github.com/conda-incubator/conda-store/compare/main...soapy1:conda-store:plugin-demo-pluggy#diff-7266bb101b347632218746795c39cf8a2917ecf1f87b72bc2a4e7dbd50133db4. We'll still need to do some work on the plugin registry side to discover user plugins. But I think we can borrow some ideas from pluggy to make this work.

In case it's useful, pluggy's wrappers are pretty useful for pre and post processing steps, something that might be useful in the lifetime of a server program: https://pluggy.readthedocs.io/en/latest/#wrappers
tryfrist and trylast might also be useful to decide which hook implementation for a hook spec to ensure a default hook implementation is automatically chosen during startup.


Upper pin tenacity < 8.4.0, Numpy < 2.0

Description
Upper pins tenacity until they release a patch for the broken release 8.4.0. Also upper pins numpy for the time being as Pints has not patched for numpy >= 2.0.
Issue reference
Fixes #365, #367
Review
Before you mark your PR as ready for review, please ensure that you've considered the following:

Updated the CHANGELOG.md in reverse chronological order (newest at the top) with a concise description of the changes, including the PR number.
Noted any breaking changes, including details on how it might impact existing functionality.

Type of change

[ ] New Feature: A non-breaking change that adds new functionality.
[ ] Optimization: A code change that improves performance.
[ ] Examples: A change to existing or additional examples.
[X] Bug Fix: A non-breaking change that addresses an issue.
[ ] Documentation: Updates to documentation or new documentation for new features.
[ ] Refactoring: Non-functional changes that improve the codebase.
[ ] Style: Non-functional changes related to code style (formatting, naming, etc).
[ ] Testing: Additional tests to improve coverage or confirm functionality.
[ ] Other: (Insert description of change)

Key checklist:

[ ] No style issues: $ pre-commit run (or $ nox -s pre-commit) (see CONTRIBUTING.md for how to set this up to run automatically when committing locally, in just two lines of code)
[ ] All unit tests pass: $ nox -s tests
[ ] The documentation builds: $ nox -s doctest

You can run integration tests, unit tests, and doctests together at once, using $ nox -s quick.
Further checks:

[ ] Code is well-commented, especially in complex or unclear areas.
[ ] Added tests that prove my fix is effective or that my feature works.
[ ] Checked that coverage remains or improves, and added tests if necessary to maintain or increase coverage.

Thank you for contributing to our project! Your efforts help us to deliver great software.

Closing this PR, as tenacity has been updated. Numpy upper pin will go into v24.3.1, which will then be merged back into develop.


Update README.md

ADDED MY NAME

Thanks for your valuable contribution 😊. Don't forget to ✨ our Repository.
If you want to contribute to our new Ideas Project -https://github.com/KapilKumar7/CreativeAppIdeas.


feat: Add hooks to get current location

Add hooks to get current location
Please include a summary of the change.
fixes #66
Type of change
Please delete options that are not relevant.

[ ] New feature (non-breaking change which adds functionality)

How to test it
If applicable, describe the tests that you ran to verify your changes. Provide instructions so we can reproduce.

Go to route 'delivery/test.'

Checklist:

[ ] Doesn't break the current code.
[ ] Passes linters and test, also is building.
[ ] Doesn't have spelling or grammatical problems.
[ ] Doesn't have unnecessary comments or debugging code.
[ ] The branch is updated with the last dev branch changes.

Confirmed my current location is showing


Unsubscribe error

When we call subscribe (PUT /api/v2/subscription/vault) a db is correctly created on mongodb.
When we call unsubscribe (DELETE /api/v2/subscription/vault) an error happens with the following message:

Caused by: Error: Cannot find collection with name vault_backup_orders

It's true that there's no collection created on mongodb named vault_backup_orders, only a single one named vault_services.
The error is either on subscribe (that should be creating vault_backup_orders or on unsubscribe (that should not remove vault_backup_orders)

It seems to be solved with new hive version


WIKI configuration variable has a wrong name

Here https://github.com/dingo/api/wiki/Configuration the vendor variable is wrong, instead to be API_VENDOR is API_PREFIX
Is nothing I know, but hope help people are following the documentation.

Commit pending.
https://github.com/dingo/api-docs/pull/7

Merged, will merge to the Wiki soon.


Add support for numpy 1.26

Codecov Report
Patch has no changes to coverable lines.
:loudspeaker: Thoughts on this report? Let us know!.


Mac field on endpoint in datamodel is required but should be optional

See http://docs.projectcalico.org/en/1.3.0/etcd-data-model.html#endpoints
The mac is required for calico-dhcp-agent but I can't see why it's needed for containers. We're jumping through hoops to find and set this mac when we (maybe) don't need to.

@matthewdupre Could fix this is @fasaxc approves the change.

@tomdee I sent you a slack message, I have a work-in-progress that might help here.  One concern is that, right now, we inject an ARP entry on the host for the container's MAC.  I think that's just an optimisation but we might need a tweak to our iptables rules to allow a real ARP to go through.

Fixed by #1039.  The mac field is now optional.  Note: I've only tested that explicitly for host endpoints.


Adding requestAnimation throttling

This is a great new resource: https://reactjs.org/docs/faq-functions.html
This section states that people can use throttle or debounce to reduce the amount of times a function is called. There is another alternative that we have been getting great results from: requestAnimationFrame throttling:
https://github.com/alexreardon/raf-schd
Rather than sampling on a time basis - you sample based on requestAnimationFrame. This lets the browser decide how many times to actually call the function to optimise for render performance.
import rafSchedule from 'raf-schd';

class ScrollListener extends React.Component {
  constructor(props) {
    super(props);
    this.nextFrameId = null;
    this.handleScroll = this.handleScroll.bind(this);
    this.scheduleUpdate = rafSchedule(this.emitUpdate.bind(this));
  }

  handleScroll(e) {
    this.nextFrameId = this.scheduleUpdate({ x: e.clientX, y: e.clientY });
  }

  emitUpdate(point) {
     this.props.update(point);
  }

  componentWillUnmount() {
    cancelAnimationFrame(this.nextFrameId);
  }

  render() {
    return (
      <textarea
        onScroll={this.handleScroll}
      />
    );
  }
}

I would be happy to add the technique to the docs if you think it worth while.
Cheers

I've needed this pattern a few times. Let's add it.

I also like that there would now be examples for click, change, and scroll, with throttling appropriate to common usage of those events 👍

Would you like me to raise a PR @gaearon ?

Sure.

Nice suggestion @alexreardon! And great job getting the ball rolling with this section< @alexkrolick 😄


VS Code's Source control doesn't show controls

VSCode Version: 1.12.2
OS Version: Windows 10 Creator Update v1703 b15063.332

Steps to Reproduce:

Don't have git in any place in Windows
Activate and setup Linux subsystem for Windows (git, node, npm etc)
Use Bash in VS Code on Windows

Looks like this:

Desctiption:
After I switched to Bash on Ubuntu on Windows and moved all of my tools in Linux subsystem, Source Contol section in VS Code doesn't show any controls. I uninstalled git from Windows, removed it from PATH. I use Bash in VS Code on my Windows and every tool works, but this bug disturbs me.
I set Bash here, but VS Code doesn't catch git from Linux subsystem
"terminal.external.windowsExec": "C:\\Windows\\sysnative\\bash.exe",
"terminal.integrated.shell.windows": "C:\\Windows\\sysnative\\bash.exe"

In devtools, it says: /E:/Program Files (x86)/Visual Studio Code/resources/app/out/vs/workbench/electron-browser/workbench.main.js:29 [Extension Host] Error: ENOENT: no such file or directory, scandir 'C:\Users\Kenya-West\AppData\Local\GitHub'
Any solution or a workaround for this?

I have this issue too... any solutions would be greatly appreciated.

Also git-related extensions don't work because they and VS Code in particular can't into Bash

We don't support git from Linux subsystem yet. #13138


Use Case: As a profile designer I want to use WKT for geo data to avoid ambiguity

Assumption: should use schema:geo to point to an entity. But what should the entity look like?
Here's one way:
{
"@type":  "Place",
"name" : "Place 1",
"geo": {"@id": "#point1"}
},
{
"@id": "#point1",
"@type": "PropertyValue",
"propertyID": "http://www.opengis.net/ont/geosparql#wktLiteral",
"value": "POINT(-76 -18)",
}

Doing it like this will likely break our libraries which don't know how to deal with literals like this:

 "geosparql:asWKT": {
  "@type": "http://www.opengis.net/ont/geosparql#wktLiteral",
"@value": "POINT(-76 -18)"
 },

Just checked how we ended up using these inside the LOD publications of https://MarineRegions.org/
From there 2 possible tips:

declare the type of these property once in the @context, so not to repeat it on every instance "@context": {
     "gsp": "http://www.opengis.net/ont/geosparql#"
     "gsp:asWKT": {
          "@type": "gsp:wktLiteral"

and then on the values you use it also include a <URI> to depict the chosen CSR (projection system) at the start of the WKT literal:    "gsp:asWKT": "<http://www.opengis.net/def/crs/OGC/1.3/CRS84> POINT(-76 -18)"

you can check this online from the source for e.g.
curl -L --url "http://marineregions.org/mrgid/2196" -H "Accept: application/ld+json"  | python -m json.tool

HTH

@stain can you add this to the @context - I will add something to the text about how to use it for ContextualEntities

Ping @rapw3k on checking on Earth Sciences approach

Implemented by #288 that overrides #287.


Update Build CI Workflow with GitVersion & GitReleaseManager

Description

Removes publish_develop & publish_main actions.
Adds docs/ project template
Automates build & release process with GitVersion & GitReleaseManager.

builds both WM & TM docker container images
publishes both WM & TM docker container images for main, develop, release/* and feature/* branches
builds docs/
creates Github release for main branch
publishes docs/ to Github Pages for main branch

Status
In Progress
Types of changes

[x] Non-breaking change (fix or new feature that would not break existing functionality).
[ ] Breaking change (fix or new feature that would cause existing functionality to change).
[ ] New tests added to cover the changes.
[ ] All tests passed locally.
[ ] Documentation comments included/updated.

@RemakingEden I am going to open new issues for each vulnerability so we can track them separately. For now, since Ubuntu doesn't yet have any fixes, we will put them into the ignorelist.

Opened #514, #515, #516, #517, #518, #519 to track vulnerabilities found by gyrpe


Create literature note(s) only ever creates one.

I can't create multiple literature notes.  When I select more than one item, not matter how many, only one of them has a literature note created.

There's a "multiple items not yet supported" msg box showing in Obsidian after you click "create literature note(s)" in Zotero...So let's wait patiently for the developer to implement this.
But YES, this would be a very convenient function.

Please see this comment for a slightly hack-y, unofficial work-around for this feature.


Infinite respawn loop with 0.46.0 (Worker exited (code: 2))

Steps to reproduce:
mkdir test && cd test
yarn add<EMAIL_ADDRESS><EMAIL_ADDRESS>
# Create .flowconfig with contents:
[options]
module.name_mapper='^\(core\|test\)\(\/\)?\(.*\)$' -> '<PROJECT_ROOT>/app/\1\2\3'

node_modules/.bin/flow

Output:
$ node_modules/.bin/flow
Launching Flow server for /private/tmp/test
Spawned flow server (pid=33230)
Logs will go to /private/tmp/flow/zSprivatezStmpzStest.log
Launching Flow server for /private/tmp/test
Spawned flow server (pid=33255)
Logs will go to /private/tmp/flow/zSprivatezStmpzStest.log
Launching Flow server for /private/tmp/test
[ ... infinite respawn loop ... ]

$ tail -f /private/tmp/flow/zSprivatezStmpzStest.log
[2017-05-25 13:12:48] Initializing Server (This might take some time)
[2017-05-25 13:12:48] executable=/private/tmp/test/node_modules/flow-bin/flow-osx-v0.46.0/flow
[2017-05-25 13:12:48] version=0.46.0
[2017-05-25 13:12:48] Parsing
[2017-05-25 13:12:48] Building package heap
[2017-05-25 13:12:48] Loading libraries
Exception: Failure("Str.replace: reference to unmatched group")
Potential backtrace:
Worker exited (code: 2)
Subprocess(33486): fail 2Worker.Worker_exited_abnormally(2)

Expected output (with flow-bin 0.45.0):
$ node_modules/.bin/flow
Launching Flow server for /private/tmp/test
Spawned flow server (pid=33557)
Logs will go to /private/tmp/flow/zSprivatezStmpzStest.log
No errors!

Seems to be fixed since 0.48.0.

For the record, this happened to me because I had this malformed module.name_mapper entry:
module.name_mapper='<icons>' -> '<PROJECT_ROOT>/src/icons/\1'

Notice the \1 in the replacement pattern has no corresponding group in the regex.


fix date picker bug forr iOS 14

This bug is for ios 14, and I made a pull request that could fix the bug.
please update the pod, Thanks

When this commit will be merged? I need to release an app on store but without this data picker issue fix I am totally blocked. Can this issue be fixed ASAP ?

@alireza12t Can you please share some more info about the changes. I tried to embed your changes locally in this pod but the date picker issue still same.


Karmada to incubation

Pre-submission checklist:
Please check each of these after submitting your pull request:

[ ] Are you only including a repo_url if your project is 100% open source? If so, you need to pick the single best GitHub repository for your project, not a GitHub organization.
[ ] Is your project closed source or, if it is open source, does your project have at least 300 GitHub stars?
[ ] Have you picked the single best (existing) category for your project?
[ ] Does it follow the other guidelines from the new entries section?
[ ] Have you added your SVG to hosted_logos and referenced it there?
[ ] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[ ] Does your project/product name match the text on the logo?
[ ] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~30 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

@amye could you please add the incubating date? Thanks!

That was already added, but the project was still listed as sandbox. This PR resolves that.

These failing netlify tests seem unrelated, merging.


Update Deprecated API in starwars.ttl from examples/

The starwars data source API https://swapi.co/ is deprecated and needs to be updated to https://swapi.dev.
The API is also invoked differently:
For a resource like this: https://swapi.co/resource/human/11
Now has to be called like this: https://swapi.dev/api/people/11
This is referencing Anakin Skywalker
The file is here: https://github.com/jupyrdf/ipyradiant/blob/master/examples/data/starwars.ttl

New swapi only hosts the data as JSON (without the means to recover the context).
Tracking issue here.

No traction on the tracking issue. We will assume that the new starwars dataset will not include JSON-LD, and therefore will keep this old version of the starwars data until a suitable example dataset is identified.


Added id to the rendered region

I find very useful to add an id to the rendered region, so I can modify it by interacting with other DOM elements.

As you see, TravisCI build failed because of double quotes.

Sorry about that. I have changed them to simple quotes.
Best!

Thanks!

:D


BadRequest

Right now, when we can't parse a non-string path var as expected, it panics -- https://github.com/jwilner/rte/blob/master/cmd/rte-gen/tmpl_func.go#L64 -- but we need to be returning a 400.
We could just do the default w.WriteHeader(http.StatusBadRequest), but users should be able to parameterize that behavior -- so we should probably inject that sort of behavior via Bind, something like:
type Binder interface {
	Bind(segIdxes []int, badReqStrat BadRequestStrategy) (http.HandlerFunc, error)
}

See #11


reduce jmx traffic - remove excessive mbeanServer.getMBeanInfo - use …

reduce jmx traffix - remove excessive mbeanServer.getMBeanInfo - use - ObjectInstance.getClassName instead - up to 4 times less traffic (Weblogic)

Looks good. Thanks for the change!

Wow, great change, I may be mistaken, but that looks like code I wrote ages ago...

@lookfirst you do remember that all of jmxtrans looks like code that you wrote ages ago?  ;-)


Doesn't compile with Cocoapods 0.36.0.rc.1

When installing via Cocoapods:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'GHMarkdownParser'

I get the following compile time errors:

/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:6:14: Typedef redefinition with different types ('void' vs 'struct mmiot')
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:12:8: Conflicting types for 'mkd_in'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:13:8: Conflicting types for 'mkd_string'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:17:8: Conflicting types for 'gfm_in'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:18:8: Conflicting types for 'gfm_string'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:20:6: Conflicting types for 'mkd_basename'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:28:5: Conflicting types for 'mkd_compile'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:29:6: Conflicting types for 'mkd_cleanup'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:48:5: Conflicting types for 'mkd_document'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:50:5: Conflicting types for 'mkd_css'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:55:5: Conflicting types for 'mkd_generatehtml'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:58:5: Conflicting types for 'mkd_generatecss'
/Users/me/dev/myapp-ios/Pods/GHMarkdownParser/discount/mkdio.h:79:6: Conflicting types for 'mkd_ref_prefix'
/Users/me/dev/myapp-ios/myapp/Views/MyClass.swift:11:8: Could not build Objective-C module 'GHMarkdownParser'

I pulled it from CocoaPods and installed it directly as a sub-project according to the standard instructions, and in Xcode 6.3/6.4, I get the same errors and a failed build, as well.

This is a problem with the PodSpec and Swift. @OliverLetterer should add the tag.


append mpi options to scorec in setup.py instead of default.py

Mandatory Checklist
Please ensure that the following criteria are met:

[x] Title of pull request describes the changes/features
[x] Request at least 2 reviewers
[x] If new files are being added, the files are no larger than 100kB. Post the file sizes.
[x] Code coverage did not decrease. If this is a bug fix, a test should cover that bug fix. If a new feature is added, a test should be made to cover that feature.
[x] New features have appropriate documentation strings (readable by sphinx)
[x] Contributor has read and agreed with CONTRIBUTING.md and has added themselves to CONTRIBUTORS.md

As a general rule of thumb, try to follow PEP8 guidelines.
Description

@cekees I will check on onyx.


[jvm-packages] Supporting Spark 3.0.0

https://spark.apache.org/releases/spark-release-3-0-0.html
Spark 3 was released today. We should look into integrating with Spark 3.

@CodingCat Can we close this?

Closing now, since we have upgraded to Spark 3.0.0.


Change presence to indicate song title

When playing music:

Listening to <song name>

When not playing music:

Listening to !play

Implemented in d009c90955b8486fcfba834fe5914dcb24e49295


Pipelining issues on macOS using explicit file descriptor for stdin

▐λ▍cat bookmarks.plist | scout read -i /dev/stdin -e json > bookmarks.json
Error: Error Domain=NSCocoaErrorDomain Code=257 "The file “stdin” couldn’t be opened because you don’t have permission to view it." UserInfo={NSFilePath=/dev/stdin, NSUnderlyingError=0x13d614d00 {Error Domain=NSPOSIXErrorDomain Code=13 "Permission denied"}}

▐λ▍cat bookmarks.plist | scout read -e json > bookmarks.json
Error: The format of the input stream is not recognized

▐λ▍head -c 300 bookmarks.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>Children</key>
	<array>
		<dict>
			<key>Title</key>
			<string>History</string>
			<key>WebBookmarkIdentifier</key>
			<st%

For completeness sake, this is how you can create a reproducible and comparable "bookmarks.plist" with Apples own tools:
# (yes the cat is uneccessary but command rewritten for readability :-)
cat ~/Library/Safari/Bookmarks.plist | plutil -convert xml1 -o - -- - > bookmarks.plist

The reading from the standard input is broken. Thank you for pointing that out.
I'll release a few as soon as possible

Thank you again @haakonstorm  for pointing that out! As you may have noticed, the fixed has been released (3.0.2).

There is a bug with the new FileHandle.readToEnd() function on macOS 11.2. The function will never exit even though the EOF is reached. Meanwhile, FileHandle.readToEndOfFile() is stil deprecated but starting from macOS 1000 🤔
I think the new function is broken and Apple silently fixed that in the last macOS release by postponing the deprecation of the old function (which still works fine).
A new fix 3.0.3 should be released to use the old function, as long as the new one is broken.


Use unicode_compatible decorator for the dashboard app.

r+

Coverage decreased (-0.009%) to 91.581% when pulling 729dc4d9dff45e4cd528fb53d936f62bf2f8a974 on akatsoulas:unicode-compatible into 19dba2c7c11fbaef0771db3726dca48c8b408386 on mozilla:master.


Delete localTranslation

Add a button to rows in the local table to delete a local translation. This is a full-stack issue that mirrors the existing download button in the remote  table.
In Diegesis Server

Add a deleteLocalTranslation mutation to the schema in graphql/schema/index.js. The arguments will be the same as for fetchUsfm.
Add a resolver for this mutation in graphql/resolvers/index.js. The mutation should delete the translation directory, the path to which can be constructed using transPath() as used elsewhere.
Add a test in tests/test.js, as a new it() within the existing 'eBible translations' test. The test will

demonstrate that there are 0 translations
download USFM
demonstrate that there is 1 translation
use the new mutation to delete that translation
demonstrate that there are 0 translations

In the Admin Client

Write a deleteTranslation function in lib/tableCallbacks.js. (It should be simpler than fetchTranslation because it doesn't matter whether the content is USFM or USX.)
Add a column for ther action to columns in LocalTab.js (see RemoteTab.js for how that works.) I suggest using the Delete icon. I don't think you need to disable this icon, since deleted translations will not appear in the table at all!
Add the action button to createData (see RemoteTab.js for how that works.)
Test manually.

I've added a deleteSuccinctError mutation, the implementation of which is very similar to what is needed for this issue.


Test cases allow for erreneous code to pass through.

Challenge Smallest Common Multiple
I hope that my comments in the code are enough. What's going on is basically what is described here - > https://youtu.be/Kl9gt33Hyg0 -> you can witness me finding the error as well.
the code looking for the smallest common multuple of a range of numbers using prime factorization
My code:
function smallestCommons(arr) {
  //makes sure they are in ascending order
  arr.sort();
  // establishes the range of numbers
  let allDividers =[];
  for(let k=arr[0];k<=arr[1];k++){
    allDividers.push(k);
  };
  //spreads the range
 let numsToCheck = [...allDividers];
  //
 let arrayToUse =[];

  // compares two arrays and returns one array with the highest occurance of each elements

  let compareTwoArrays = function(one, two){
  let count = new Map,
    result = [];
    [one, two].forEach(function (a, i, aa) {
    a.forEach(function (b) {
        var item = count.get(b);
        if (!item) {
            item = Array.apply(null, { length: aa.length }).fill(0);
            count.set(b, item);
        }
        item[i]++;
    });
  });

  count.forEach(function (v, k) {
    var l = Math.max.apply(null, v);
    while (l--) {
        result.push(k);
      }
  });
    return result;
  };

  //finds prime factors- whoah really?
  function findPrimeFactors(num){
   let arrayProduced = [];
   for(let i = 2;i <= num/2;i++){
     while(num%i===0){
       num=num/i;
       arrayProduced.push(i);
     }}
      if(num>1){
     arrayProduced.push(num);
   }
  let answer2= compareTwoArrays(arrayToUse, arrayProduced);
  arrayToUse = answer2;
  answer2=[];
 };

  for(let i = 0 ; i<allDividers.length;i++){
   findPrimeFactors(allDividers[i]);
   }

  return arrayToUse.reduce((x,y)=>x*y);
}

smallestCommons([252,312]);

here's a corrected version, pay attention to the first couople of lines only.
function smallestCommons(arr) {
  //make sure the array is in ascending order.
  let maxNum = Math.max(...arr);
  let minNum = Math.min(...arr);
  arr=[minNum,maxNum];

  let allDividers =[];
  for(let k=arr[0];k<=arr[1];k++){
    allDividers.push(k);
  };
  //spreads the range
 let numsToCheck = [...allDividers];
  //
 let arrayToUse =[];

  // compares two arrays and returns one array with the highest occurance of each elements

  let compareTwoArrays = function(one, two){
  let count = new Map,
    result = [];
    [one, two].forEach(function (a, i, aa) {
    a.forEach(function (b) {
        var item = count.get(b);
        if (!item) {
            item = Array.apply(null, { length: aa.length }).fill(0);
            count.set(b, item);
        }
        item[i]++;
    });
  });

  count.forEach(function (v, k) {
    var l = Math.max.apply(null, v);
    while (l--) {
        result.push(k);
      }
  });
    return result;
  };

  //finds prime factors- whoah really?
  function findPrimeFactors(num){
   let arrayProduced = [];
   for(let i = 2;i <= num/2;i++){
     while(num%i===0){
       num=num/i;
       arrayProduced.push(i);
     }}
      if(num>1){
     arrayProduced.push(num);
   }
  let answer2= compareTwoArrays(arrayToUse, arrayProduced);
  arrayToUse = answer2;
  answer2=[];
 };

  for(let i = 0 ; i<allDividers.length;i++){
   findPrimeFactors(allDividers[i]);
   }
// returns the reduced array of filtered prime factors
  return arrayToUse.reduce((x,y)=>x*y);
}

smallestCommons([5,1]);

Now to recreate the error try typing try calling the first supplied code with arguments that wouldn't get sorted in ascending order. eg.
smallestCommons([2,15]);

I know this is the hard and not so common way to solve this challange, it leaves room for error nevertheless. I have realised that I made a mistake there 8 hours after submitting and passing all the test cases.
Solution suggestion : Include smallestCommons([2,15]); or any other with array of arguments that wouldn't get sorted into ascending order with arr.sort(); into the the test cases.

I think it's fair enough to add an extra test case to check if the camper has used arr.sort() for sorting the two numbers in the given array; which is wrong as arr.sort() sorts in alphabetical order if no comparison function is provided. @dhcodes @Bouncey Your comments ?

Sounds good to me. Let's add a test for smallestCommons([2, 10]), which should equal 2520.

I will take this up ?

I have taken this up and solved the issue. But I couldn't test this at localhost:3001 due to this #11007. I checked the working at localhost:3000. It works fine. Should I make the pull request @Bouncey ? Or wait for the #11007 bug fix to test how it works even at localhost:3001 ?

@karuppiah7890 We would be better waiting so you can test locally

@Bouncey Okay! :+1:

@Bouncey Shall I make a PR after testing this at localhost:3000 as discussed in #11007 . Or is #11007 gonna be reopened ?


[Q] - License is missing in repo?

Hi it would be nice if there was a license file in the repository

Hi there!
I agree! I must have missed that and will add one right away :)

Fixed in 59a0da2b3c4331d53d6ab69382644cc531ab61d0
Tyvm :)


Update .travis.yml with python 3.6

Add python 3.6 to travis and remove old versions of python

Is there a reason to drop support for old versions? In particular, Python 2.6 is not dead yet IMHO. Why not drop it if there's a good reason to, but then the good reason should be mentioned in the commit message.

As far as I am aware no distribution is using these versions of python and for Mac users they should be using homebrew to get new versions of python as http://pyfound.blogspot.co.uk/2017/01/time-to-upgrade-your-python-tls-v12.html?utm_source=feedburner&utm_medium=twitter&utm_campaign=Feed:+PythonSoftwareFoundationNews+(Python+Software+Foundation+News)&m=1 this is going to be happening

From: Matthieu Moy<EMAIL_ADDRESS>Sent: Wednesday, February 1, 2017 7:40:50 AM
To: hickford/MechanicalSoup
Cc: J.Townsend; Author
Subject: Re: [hickford/MechanicalSoup] Update .travis.yml with python 3.6 (#54)
Is there a reason to drop support for old versions? In particular, Python 2.6 is not dead yet IMHO. Why not drop it if there's a good reason to, but then the good reason should be mentioned in the commit message.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/hickford/MechanicalSoup/pull/54#issuecomment-276592233, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADddQha2LU9LM-WV-c1s0lrwUXMK4zAKks5rYDcCgaJpZM4LzLuu.

The fact that distro don't ship 2.6 anymore doesn't mean everybody has upgraded. I still use a production server with Python 2.4 for example. There are more RedHat/CentOS 6 out there than you seem to think.
I don't question the fact that most users should upgrade, but that doesn't seem to be a good reason for MechanicalSoup to drop support.

Okay will fix when I get back from work

From: Matthieu Moy<EMAIL_ADDRESS>Sent: Wednesday, February 1, 2017 7:51:28 AM
To: hickford/MechanicalSoup
Cc: J.Townsend; Author
Subject: Re: [hickford/MechanicalSoup] Update .travis.yml with python 3.6 (#54)
The fact that distro don't ship 2.6 anymore doesn't mean everybody has upgraded. I still use a production server with Python 2.4 for example. There are more RedHat/CentOS 6 out there than you seem to think.
I don't question the fact that most users should upgrade, but that doesn't seem to be a good reason for MechanicalSoup to drop support.

You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/hickford/MechanicalSoup/pull/54#issuecomment-276593824, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADddQnrNrBuRuXomWuOu2D68W-3PPD4vks5rYDmAgaJpZM4LzLuu.

Just to be clear: if there's a 2.7-only feature that you really want to use, I have no strong objection to dropping 2.6 support, but then it can be a preparatory patch for the commit introducing this Python construct. All I'm saying is: if we can keep support for 2.6 without a real overhead, let's keep it.

OK, I committed a variant of this in 0798afffa03e27eb22032c9e0d5bbd37916cbe23 and applied my remark about 3.2 in setup.py in 778e019fa68c8187420db809cfa761fc7c54c016. We're all set, I'm closing the PR.
Thanks!

Okay sorry about taking ages to fix this I had been ill and forgot and only remembered about this yesterday

From: Matthieu Moy<EMAIL_ADDRESS>Sent: Friday, February 17, 2017 6:56:15 PM
To: hickford/MechanicalSoup
Cc: J.Townsend; Author
Subject: Re: [hickford/MechanicalSoup] Update .travis.yml with python 3.6 (#54)
Closed #54https://github.com/hickford/MechanicalSoup/pull/54.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/hickford/MechanicalSoup/pull/54#event-967415442, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADddQuicnBhdA4E8FqtbKj5-U-6jFUU2ks5rde1PgaJpZM4LzLuu.


Create Cart service interface

Cart service should be using a Connection layer (based on axios library).
Each method of the service will contain specific types of parameters and return typed data, described in this issue on the bottom.
Custom cart Interfaces listed at the bottom of the issue.
It's assumed that the context token is provided on request layer.
The list of proposed methods:
1 getCart(ExtraTokenParam?):CartResponse<Cart> # Cart interface taken from Cart.ts; creates a new one if doesn't exist
2 createCart(ExtraTokenParam?): CartResponse<Cart>
3 addProduct(addProductToCartParam, ExtraTokenParam?):CartResponse<Cart>
4 addCode(PromotionCodeParam, ExtraTokenParam?): CartResponse<Cart>
5 addLineItem(AddLineItemParam): CartResponse<Cart>
6 removeLineItem(RemoveLineItemParam): CartResponse<Cart>
7 updateLineItem(UpdateLineItemParam,ExtraTokenParam?): CartResponse<Cart>

All the parameters should be converted into query string (or payload) just before sending a request.
Customer Params converter was described here: #TODO
Available parameters:
interface ExtraTokenParam {
  token?: string
  name? : string
}

interface addProductToCartParam {
  productId: string | uuid
  quantity: number
}

interface PromotionCodeParam {
  code: string
}

interface AddLineItemParam {
  itemId: string | uuid
  quantity?: number
}

interface RemoveLineItemParam {
  itemId: string | uuid
}

interface UpdateLineItemParam {
  itemId: string | uuid
  quantity: number
}

The list of Cart's custom interfaces:
interface CartResponse { # decide if using the global one is needed
data:
}
Method to endpoint map
1 getCart() - GET /sales-channel-api/v{version}/checkout/cart
2 createCart() - POST /sales-channel-api/v{version}/checkout/cart
3 addProduct() - POST /sales-channel-api/v{version}/checkout/cart/product/{id}
4 addCode() - POST /sales-channel-api/v{version}/checkout/cart/code/{code}
5 addLineItem() - POST /sales-channel-api/v{version}/checkout/cart/line-item/{id}
6 removeLineItem() - DELETE /sales-channel-api/v{version}/checkout/cart/line-item/{id}
7 updateLineItem() - PATCH /sales-channel-api/v{version}/checkout/cart/line-item/{id}

@patzick @rmakara  After a quick chat with Dominic, we can postpone handling the other CartItem's types. We stay with the "product" so we can hide the addLineItem method (when the type is required) and expose only the updateLineItem in order to have a happy path done basing only on product type.

@mkucmus that's great, let's just stay with cartItem instead of lineItem as is more descriptive :)


spx client fails when run inside default docker image

Describe the bug
Running the spx CLI via Docker fails by default when run with:
docker run -v $PWD:/data -it --rm msftspeech/spx recognize --format mp3 --file /data/test.mp3

It yields the error message:
SPX - Azure Speech Service Command Console, Version 1.13
Copyright (c) 2020 Microsoft Corporation. All Rights Reserved.

  audio.input.file=/data/test.mp3
  audio.input.format=mp3
  audio.input.type=file
  diagnostics.config.log.file=log-{run.time}.log
  output.all.audio.input.id=true
  output.all.recognizer.recognized.result.text=true
  output.all.recognizer.session.started.sessionid=true
  service.config.key=e7523794afe046e081b592cb15eed8fa
  service.config.region=eastus
  x.command=recognize

  ERROR: Exception with an error code: 0x29 (SPXERR_GSTREAMER_NOT_FOUND_ERROR)

To Reproduce
Steps to reproduce the behavior:

From a fresh directory, run:

docker run -v $PWD:/data -it --rm msftspeech/spx config @region --set [your region]
docker run -v $PWD:/data -it --rm msftspeech/spx config @key --set [your key]
curl -SLo test.mp3 http://soundbible.com/grab.php?id=2112&type=mp3
docker run -v $PWD:/data -it --rm msftspeech/spx recognize --format mp3 --file /data/test.mp3

...

Expected behavior
This should execute the recognize request.
Version of the Cognitive Services Speech SDK
Which version of the SDK are you using.
Platform, Operating System, and Programming Language

OS: Manjaro Linux, Kernel <IP_ADDRESS>
Hardware - x86
Programming language: CLI

Additional context
I fixed for myself by adding the following install to a local Docker image:
apt-get install -y libgstreamer1.0-0 \
  gstreamer1.0-plugins-base \
  gstreamer1.0-plugins-good \
  gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly

@qstearns thanks for contacting us,
Yes, by default docker is only configured to support wave file input.
To use MP3 files, you need to add the GStreamer and codecs so SPX can transcode MP3 to an input the service supports.
I'll ask and see if GStreamer was left out accidentally, or intentionally due to "redistribution" licensing restrictions.
If we are allowed to, I will create a work item request to update our default docker container so MP3 would work by default in a future release.
If there is nothing else, I would like to close this GitHub issue?
Thanks,
Brian.

Closed as resolved.


Improve workflow to check package

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (d1d9280) 100.00% compared to head (9bc4895) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #256   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           95        95
  Lines         3123      3123
  Branches       255       255
=========================================
  Hits          3123      3123

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


IMU coordinate

Is the IMU coordinate system left-handed or right-handed?
at this link： https://www.stereolabs.com/docs/sensors/   . It looks like the green axis is right-handed and the red axis is left-handed.

The IMU quaternion is given in the coordinate system provided through the initParameters::coordinate_system. There are multiple system available that can be left or right handed
https://www.stereolabs.com/docs/api/group__Core__group.html#ga1114207cbac18c1c0e4f77a6b36a8cb2


Fix a race condition in pull through cache population

Fix a race condition in pull through cache population by removing the functionality of readers joining current downloads.  Concurrent requests for the same blob will not block, but only the first instance will be comitted locally.
Add more unit tests.
This is a temporary fix. Closes #944 #913
Signed-off-by: Richard Scothern<EMAIL_ADDRESS>

Sorry, didn't realize you had updated this.
LGTM


I got an error when using a graph object as an agent

First of all, thank you for your great work in making it so easy to build the agent API ！🫶
I hope to use graph as an agent to provide services, Because the react agent are not free enough.
Here is my code
Server
import operator
from typing import Annotated, Sequence, TypedDict

import uvicorn
from fastapi import FastAPI, Security
from fastapi.security import APIKeyHeader
from langchain_community.tools import DuckDuckGoSearchResults
from langchain_core.messages import BaseMessage
from langchain_core.messages import ToolMessage, AIMessage
from langchain_core.runnables import Runnable, RunnableConfig
from langchain_openai_api_bridge.core import BaseAgentFactory
from langchain_openai_api_bridge.core.create_agent_dto import CreateAgentDto
from langchain_openai_api_bridge.fastapi import LangchainOpenaiApiBridgeFastAPI
from langgraph.graph import END, StateGraph, START
from langgraph.prebuilt import ToolExecutor
from langgraph.prebuilt import ToolInvocation
from pydantic import BaseModel
from starlette.middleware.cors import CORSMiddleware

from modules.common.utils import llm

tools = [DuckDuckGoSearchResults()]
tool_executor = ToolExecutor(tools)

class AgentState(TypedDict):
    messages: Annotated[Sequence[BaseMessage], operator.add]

def should_continue(state):
    messages = state["messages"]
    last_message = messages[-1]
    if not last_message.tool_calls:
        return "end"
    else:
        return "continue"

def call_model(state):
    messages = state["messages"]
    response = llm.invoke(messages)
    return {"messages": [response]}

def call_tool(state):
    messages = state["messages"]
    last_message = messages[-1]
    tool_invocations = []
    for tool_call in last_message.tool_calls:
        action = ToolInvocation(
            tool=tool_call["name"],
            tool_input=tool_call["args"],
        )
        tool_invocations.append(action)

    responses = tool_executor.batch(tool_invocations, return_exceptions=True)
    tool_messages = [
        ToolMessage(
            content=str(response),
            name=tc["name"],
            tool_call_id=tc["id"],
        )
        for tc, response in zip(last_message.tool_calls, responses)
    ]
    return {"messages": tool_messages}

def first_model(state):
    human_input = state["messages"][-1]["content"]
    return {
        "messages": [
            AIMessage(
                content="",
                tool_calls=[
                    {
                        "name": "reflection",
                        "args": {
                            "query": human_input,
                        },
                        "id": "tool_abcd123",
                    }
                ],
            )
        ]
    }

def create_graph():
    workflow = StateGraph(AgentState)

    workflow.add_node("first_agent", first_model)

    workflow.add_node("agent", call_model)
    workflow.add_node("action", call_tool)

    workflow.add_edge(START, "first_agent")

    workflow.add_conditional_edges(
        "agent",
        should_continue,
        {
            "continue": "action",
            "end": END,
        },
    )

    workflow.add_edge("action", "agent")

    workflow.add_edge("first_agent", "action")
    graph = workflow.compile(debug=True).with_config(
        RunnableConfig(
            configurable={"thread_id": "1"},
            recursion_limit=10, )
    )
    return graph

class TestAgent(BaseAgentFactory):
    def create_agent(self, dto: CreateAgentDto) -> Runnable:
        return create_graph()

app = FastAPI(
    title="Langchain Agent OpenAI API Bridge",
    version="1.0",
    description="OpenAI API exposing langchain agent",
)

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
    expose_headers=["*"],
)

token_key = APIKeyHeader(name="Authorization")

class Token(BaseModel):
    token: str

def get_current_token(auth_key: str = Security(token_key)):
    return auth_key

rag_bridge = LangchainOpenaiApiBridgeFastAPI(
    app=app, agent_factory_provider=lambda: TestAgent()
)
rag_bridge.bind_openai_chat_completion(prefix="/test-agent")

if __name__ == "__main__":
    uvicorn.run(app, host="<IP_ADDRESS>", port=8888)

Client
from openai import OpenAI

if __name__ == '__main__':
    openai_client = OpenAI(
        base_url="http://localhost:8888/test-agent/openai/v1",
        api_key="xxx"
    )

    chat_completion = openai_client.chat.completions.create(
        model="agent-model",
        messages=[
            {
                "role": "user",
                "content": 'hi',
            }
        ],
    )
    print(chat_completion.choices[0].message.content)

Error
[{'step': -2}:checkpoint] State at the end of step {'step': -2}:
{'messages': []}
[0:tasks] Starting step 0 with 1 task:
- __start__ -> [{'content': 'hi', 'role': 'user'}]
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/uvicorn/protocols/http/httptools_impl.py", line 426, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/uvicorn/middleware/proxy_headers.py", line 84, in __call__
    return await self.app(scope, receive, send)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/fastapi/applications.py", line 1054, in __call__
    await super().__call__(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/applications.py", line 123, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/middleware/errors.py", line 186, in __call__
    raise exc
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/middleware/errors.py", line 164, in __call__
    await self.app(scope, receive, _send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/middleware/cors.py", line 85, in __call__
    await self.app(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/middleware/exceptions.py", line 65, in __call__
    await wrap_app_handling_exceptions(self.app, conn)(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/routing.py", line 756, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/routing.py", line 776, in app
    await route.handle(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/routing.py", line 297, in handle
    await self.app(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/routing.py", line 77, in app
    await wrap_app_handling_exceptions(app, request)(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/_exception_handler.py", line 64, in wrapped_app
    raise exc
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/_exception_handler.py", line 53, in wrapped_app
    await app(scope, receive, sender)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/routing.py", line 75, in app
    await response(scope, receive, send)
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/responses.py", line 258, in __call__
    async with anyio.create_task_group() as task_group:
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/anyio/_backends/_asyncio.py", line 597, in __aexit__
    raise exceptions[0]
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/responses.py", line 261, in wrap
    await func()
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/starlette/responses.py", line 250, in stream_response
    async for chunk in self.body_iterator:
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_openai_api_bridge/chat_completion/http_stream_response_adapter.py", line 10, in to_str_stream
    async for chunk in chunk_stream:
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_openai_api_bridge/core/utils/pydantic_async_iterator.py", line 7, in ato_dict
    async for obj in async_iter:
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_openai_api_bridge/chat_completion/langchain_stream_adapter.py", line 26, in ato_chat_completion_chunk_stream
    async for event in astream_event:
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 5290, in astream_events
    async for item in self.bound.astream_events(
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1247, in astream_events
    async for event in event_stream:
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py", line 1005, in _astream_events_implementation_v2
    await task
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py", line 965, in consume_astream
    async for _ in event_streamer.tap_output_aiter(run_id, stream):
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/tracers/event_stream.py", line 181, in tap_output_aiter
    first = await py_anext(output, default=sentinel)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/utils/aiter.py", line 78, in anext_impl
    return await __anext__(iterator)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/pregel/__init__.py", line 1277, in astream
    _panic_or_proceed(done, inflight, loop.step, asyncio.TimeoutError)
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/pregel/__init__.py", line 1456, in _panic_or_proceed
    raise exc
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/pregel/executor.py", line 123, in done
    task.result()
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/pregel/retry.py", line 72, in arun_with_retry
    async for _ in task.proc.astream(task.input, task.config):
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 875, in astream
    yield await self.ainvoke(input, config, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/utils.py", line 114, in ainvoke
    ret = await self._acall_with_config(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/install/conda/miniconda3/envs/gradio/lib/python3.11/site-packages/langchain_core/runnables/base.py", line 1835, in _acall_with_config
    output: Output = await asyncio.create_task(coro, context=context)  # type: ignore
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/pregel/write.py", line 127, in _awrite
    values = await asyncio.gather(
             ^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/utils.py", line 111, in ainvoke
    return self.invoke(input, config)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/utils.py", line 102, in invoke
    ret = context.run(self.func, input, **kwargs)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/valdanito/workspace/original/langgraph/libs/langgraph/langgraph/graph/state.py", line 529, in _get_state_key
    raise InvalidUpdateError(f"Expected dict, got {input}")
langgraph.errors.InvalidUpdateError: Expected dict, got [{'role': 'user', 'content': 'hi'}]

My solution
Then I made modifications to the Langgraph source code, and my application runs well.
https://github.com/Valdanitooooo/langgraph/commit/c2d05edcd04becf3619d025eb90f65d0966077a1
My question
I'm not sure if it's a problem with langgraph or your code, I hope to find the best solution. I hope I have expressed myself clearly.
❤

Hi @Valdanitooooo
I think the error is because the library only support a langgraph state where the properties are the same has the default react agent state.
I see 2 options:

Adjust the agent state to match the default react agent.
Make a change to the library to support custom inputs. That would imply to have some kind of adapter to match the react agent standard. It might be better to simply have the state to match the react agent state.

No matter which of the options solves your problem, it would be very nice of you to add an example of your use case in the « functional test » directory and README.
I can take a deeper look next week if needed.
Thanks a lot for your interest in this library and your support for it 😀

it would be very nice of you to add an example of your use case in the « functional test » directory and README.

I would love to do that, but my test code needs to install the dependency langgraph@git+https://github.com/Valdanitooooo/langgraph.git@dev#subdirectory=libs/langgraph to run well, which is not constructive, so I think it would be better to update the README after this issue is solved. I can put the test code in the « functional test » directory first. 😉

This seem to be a recurent issue / missunderstanding. I will soon update the library README and add a usage example on how to use a custom LangGraph agent (which does not requires external deps).

Thanks for your contribution @Valdanitooooo ! Your pull request is now merged in the main repo.


Sync api on universal windows platform

Hi,
I see that the project source has files related to windows universal app even though the documentation says wp8.
The plugin reaches till startDownload function and calls download.startAsync(), but does not fire complete, error or progress handlers.

Hi @seematalanki
Sorry about the long reply, but I believe those files associated with the Windows Universal app were some discovery work to see if we could get things working on WP10.
This plugin is for WP8 and WP8.1 only.


newest version of gate (v0.31.1) having issues receiving proxyProtocol in Gate-to-Gate configuration

OS: Debian GNU/Linux 12 (bookworm)
Arch: x86_64
Kernel: 6.1.0-10-amd64
Go version: go1.20.6 linux/amd64
Servers tested: Vanilla 1.20.1, Forge 1.19.2, Fabric 1.19.2
How I stumbled upon the problem:
Updated gate recently to v0.31.1, attempted a Gate-to-Gate configuration utilizing Gate-Lite, with proxyProtocol enabled between them. However, when using v0.31.1 on both, upstream proxy fails to communicate with the downstream proxy with the following error message:
"error": "failed to decode status response: error reading packet frame: error reading varint: EOF"
followed by:
"error": "all backends failed"
Upstream config:
config:
  bind: X.X.X.X:25565
  proxyProtocol: false
  lite:
    enabled: true
    routes:
      - host: ["*"]
        backend: X.X.X.X:25565
        proxyProtocol: true
        cachePingTTL: "-1s"

Downstream config:
config:
  bind: X.X.X.X:25565
  proxyProtocol: true
  lite:
    enabled: true
    routes:
      - host: ["*"]
        backend: X.X.X.X:25565
        proxyProtocol: false
        cachePingTTL: "-1s"

Some further testing yielded the following results:

Gate v0.31.1 -> Gate v0.31.1 (FAILS, newest to newest)
Gate v0.31.0 -> Gate v0.31.0 (SUCCEEDS, last version to last version)
Gate v0.31.0 -> Gate v0.31.1 (FAILS, last version to newest)
Gate v0.31.1 -> Gate v0.31.0 (SUCCEEDS, newest to last version)

From this, it appears the version of the upstream proxy does not seem to matter; however, if the downstream proxy is the newest version it will fail at the upstream proxy. It is interesting to note this seems to be a proxyProtocol issue, as disabling proxyProtocol on both the upstream and downstream proxies allows the latest version (v0.31.1) to be used successfully on both.
How to reproduce:

Download v0.31.1 (latest) and v0.31.0 (last) versions of the gate proxy on each machine.
Create a Gate-to-Gate configuration over Gate-Lite with proxyProtocol enabled between them.
Attempt connecting.

Caveats:

Only tested on current Debian Stable/amd64 (Bookworm/12)
Only tested using native Go binaries, and did not test with Docker or Kubernetes
Only tested utilizing Lite-Mode

If you still face this issue in newer releases, please reopen.


Added author G. Behnke

I am a new UD at Theoretical Computer Science Unit of the ILLC. If possible, I would like to join the theory.amsterdam website.

If you have any PhD students or postdocs that you think should be listed here, you now know how to add them! Thanks a lot!


Worms 2 - Alt+F4 breaks Frontend

In Worms 2, the game lets you set up a match with a frontend (frontend.exe) and then loads up the game engine (worms2.exe).
Completing a game normally has no issues with cnc-ddraw, but if you Alt+F4 the game, it is supposed to bring the frontend back.
Instead, the frontend crashes and looks like this:

I don't have the game so I can't test it right now, but you can try this here in ddraw.ini (change false to true)
game_handles_close=true

The moment I just figured it out and I come back to see you replied the solution 1 minute earlier :)
Thank you very much to confirm!


MINOR: improve error message in ClientUtils

Minor, but it would have saved a little time debugging invalid urls that were being set for bootstrap.servers in our configuration. It wasn't immediately obvious that the issue was a missing port.

Does this need tests? Happy to add some for the behaviour if you think it's necessary.

Ah - this doesn't work because getHost returns null if the port is not set. I'll revisit (and add some tests) and reopen this later.

Ah - this doesn't work because getHost returns null if the port is not set. I'll revisit (and add some tests) and reopen this later.


Handle security related changes to default password

https://github.com/opensearch-project/opensearch-build/issues/4094
Default password behavior seems to be changing. Need to discuss and properly address requirements

cc @DarshitChanpura


[Feature Request] Support K3s upgrade

Need to support upgrade K3s cluster, e.g. autok3s --provider xxx upgrade --name xxx --k3s-version xxxx

UI demo:


Improvement to heatmaps

Before: Heatmap was drawing each database entry one-by-one. Resulting in big data transfers through database, python and browser.
After: Heatmap just draws once for each spawnpoint using heat value
This should give a huge performance boost to heatmaps and quick loading.

Oh my, it's so... fast now. Thanks!


windows: crash OLEStreamReader decostructor

don't g_object_unref the stream

also mac release

change
OLEStreamReader::~OLEStreamReader()
{
    if ( m_stream )
        g_object_unref( G_OBJECT( m_stream ) );
}

to
   if (m_stream) {
       //just unlink it
       //g_object_unref(m_stream);
       m_stream = NULL;
   }

in olestream.cpp


Reached à la Trip-based

For each route $r$ maintain a Pareto set of tuples $(t, s, k) \in T \times \mathbb{N} \times \mathbb{N}$ where $T$ is the set of sorted transport indices, i.e., the difference in the day index is stored in the most significant bits of the transport index, $s$ is the stop index and $k$ is the round of the RAPTOR algorithm.

Some VIA test cases do not work yet


Dev lm

What type of PR is this?
What this PR does / why we need it:

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

1.通知模版校验
2.对象列表remote_addr


fix cloud-core tests to run on Windows envrioment

@rafaelweingartner: Rafael, this looks good but you should really make this PR on the apache fork, not on mine


How to reset zoom?

I'm removing and adding datasets that have completely different X and Y axis data.  After a user zooms in, the chart doesn't reset to the new perspective.  Is there a way to force a reset?

@SeanStewart37 this is not currently possible. I'd be happy to merge a PR adding this functionality.
Essentially what would need to happen is that the original config min/max need to be stored (if specified) and then on reset either put those back or remove them completely

@SeanStewart37 This should be addressed in PR #28.
@etimberg Would it be possible to push a new release to NPM?

@pml984 I will look into pushing a new release soon

I reset zoom like this -->
function resetZoom() {
window.scatterChart.resetZoom()
	}

var ctx = $("#myChart");
window.scatterChart = new Chart(ctx, {});
also 1 thing i do when i build a new graph is remove the canvas and add again to the div

Closing as resolved in #28


Use application.properties with multiple profiles

https://spring.io/blog/2020/08/14/config-file-processing-in-spring-boot-2-4

LEAN
It is not necessary at the moment.


Patch Release (0.15.3) Breaks Local Development Setup

Describe the bug
Going from v0.15.2 to v0.15.3 and accompanying docs change breaks the local development setup.
Attempting to connect to the server produces error could not connect after timeout on the client and server producing
server closing WS connection
Server

Version: [0.15.3]
Environment: local dev
docker-compose

Client

https://example.livekit.io/#/

To Reproduce
Steps to reproduce the behavior:

Create a livekit server with the follwing docker-compose container

  livekit-server:
    image: livekit/livekit-server:v0.15.3
    env_file:
      - .env
    ports:
      - "7880:7880"
      - "7881:7881"
      - "7882:7882/udp"
    command: livekit-server --dev --node-ip=host.docker.internal

The env file contains the line:
LIVEKIT_KEYS="KEY: SECRET"
Expected behavior
The server should still function without configuration changes as in 0.15.2 since 0.15.3 is a patch release.
Screenshots

Additional context
The changes made here are breaking (at least in relation to local development) and should be noted as such. The documentation for working with <=0.15.2 should be maintained and a guide for migrating to 0.15.3 should be included

hey @alexbeattie42, I'm not sure why host.docker.internal worked prior to 0.15.3, but we've always required setting node-ip explicitly to the machine's IP address (and not a docker aliased hostname).
It may have worked as a side effect of something else, but that was not the intended way for it to be used.

host.docker.internal resolves to the internal IP address used by the host.  I am providing the host IP address which is resolved upon startup of the server.
Log lines (v0.15.2):
livekit-server_1  | 2022-02-08T23:38:38.763Z    INFO    livekit logger/logger.go:26     using single-node routing
livekit-server_1  | 2022-02-08T23:38:38.772Z    INFO    livekit logger/logger.go:26     starting LiveKit server {"addr": ":7880", "nodeID": "ND_m4J39Bn7", "nodeIP": "<IP_ADDRESS>", "version": "0.15.3", "rtc.portTCP": 7881, "rtc.portICERange": [50000, 60000]}

Log Lines (v0.15.3):
livekit-server_1  | {"level":"info","ts":1644363544.8924756,"logger":"livekit","caller":"logger/logger.go:26","msg":"using single-node routing"}
livekit-server_1  | {"level":"info","ts":1644363544.9063919,"logger":"livekit","caller":"logger/logger.go:26","msg":"starting LiveKit server","addr":":7880","nodeID":"ND_pf5tSeSC","nodeIP":"<IP_ADDRESS>","version":"0.15.2","rtc.portTCP":7881,"rtc.portICERange":[50000,60000]}
This release contains significant and breaking changes and as such should not be a patch release.

Additionally the logging format has changed now which would break any log ingestion/parsing logic people have setup.

<IP_ADDRESS> is internal to Docker though, it's not accessible from the host itself. Unfortunately there isn't a reliable way to use a docker-internal address with LiveKit.
I understand why you feel that it shouldn't be breaking, and I agree with you. However, we cannot guarantee an unsupported side-effect will continue to work across any releases.


make total weight optional

Signed-off-by: hejianpeng<EMAIL_ADDRESS>
Commit Message: make WeightedCluster.TotalWeight optional
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue] #21845
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest

/assign-from envoyproxy/envoy-maintainers

/wait
on release notes requested

CI is blocked?


Change ListEvaluationHistory to use default project ID

Previously, this code expected the project ID to be explicitly set in the request context, which typically only happens when the client tries to override the project ID. This changes the project ID lookup to use the same logic used in the repo handler.
Change validated locally.
Summary
Provide a brief overview of the changes and the issue being addressed.
Explain the rationale and any background necessary for understanding the changes.
List dependencies required by this change, if any.
Fixes #(related issue)
Change Type
Mark the type of change your PR introduces:

[x] Bug fix (resolves an issue without affecting existing features)
[ ] Feature (adds new functionality without breaking changes)
[ ] Breaking change (may impact existing functionalities or require documentation updates)
[ ] Documentation (updates or additions to documentation)
[ ] Refactoring or test improvements (no bug fixes or new functionality)

Testing
Outline how the changes were tested, including steps to reproduce and any relevant configurations.
Attach screenshots if helpful.
Review Checklist:

[x] Reviewed my own code for quality and clarity.
[ ] Added comments to complex or tricky code sections.
[ ] Updated any affected documentation.
[ ] Included tests that validate the fix or feature.
[ ] Checked that related changes are merged.

coverage: 53.047%. remained the same
when pulling 6678c45f6321e084a616f830a5ad8e0a22ba2679 on project-default-eval-history
into 546457ce090b470aea2bbc9b08a4bfc1e17afbdd on main.


Playground: Adding some HTML id attributes to make writing Selenium scripts easier.

This addresses issue #685.

This covers a lot of the main buttons.
Doesn’t cover the action forms yet though. That’ll be a little trickier - the action forms are completely dynamic based on what the user's put in the editor. But we can get a unique id for each input by reusing the path information we generate in validation with the WithPath type.

Please give this first pass a try at https://kris.plutus.iohkdev.io/ and note anything that's obviously missing. I'll circle back and handle those requests and the action forms soon.


Does this project support liveness detection ?

Does this project support liveness detection ?

No , it does not.

No , it does not.


fix: LSDV-5192: Change quick view icon and change hover color

PR fulfills these requirements

[x] Commit message(s) and PR title follows the format [fix|feat|ci|chore|doc]: TICKET-ID: Short description of change made ex. fix: DEV-XXXX: Removed inconsistent code usage causing intermittent errors
[ ] Tests for the changes have been added/updated (for bug fixes/features)
[ ] Docs have been added/updated (for bug fixes/features)
[x] Best efforts were made to ensure docs/code are concise and coherent (checked for spelling/grammatical errors, commented out code, debug logs etc.)
[x] Self-reviewed and ran all changes on a local instance (for bug fixes/features)

Change has impacts in these area(s)
(check all that apply)

[ ] Product design
[x] Frontend

Describe the reason for change
(link to issue, supportive screenshots etc.)
What does this fix?
(if this is a bug fix)
What is the new behavior?
(if this is a breaking or feature change)
What is the current behavior?
(if this is a breaking or feature change)
What libraries were added/updated?
(list all with version changes)
Does this change affect performance?
(if so describe the impacts positive or negative)
Does this change affect security?
(if so describe the impacts positive or negative)
What alternative approaches were there?
(briefly list any if applicable)
What feature flags were used to cover this change?
(briefly list any if applicable)
Does this PR introduce a breaking change?
(check only one)

[ ] Yes, and covered entirely by feature flag(s)
[ ] Yes, and covered partially by feature flag(s)
[ ] No
[ ] Not sure (briefly explain the situation below)

What level of testing was included in the change?
(check all that apply)

[ ] e2e
[ ] integration
[ ] unit

Which logical domain(s) does this change affect?
(for bug fixes/features, be as precise as possible. ex. Authentication, Annotation History, Review Stream etc.)

Codecov Report
Patch and project coverage have no change.

Comparison is base (ee9cfa5) 65.35% compared to head (67ce0e6) 65.36%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1412   +/-   ##
=======================================
  Coverage   65.35%   65.36%
=======================================
  Files         436      436
  Lines       27283    27283
  Branches     7237     7237
=======================================
+ Hits        17832    17834    +2
+ Misses       8114     8113    -1
+ Partials     1337     1336    -1

see 1 file with indirect coverage changes

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


Update vpn-gateway-howto-setup-alerts-virtual-network-gateway-log.md

Added a Powershell example.

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

#sign-off

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


Dear author, Hello!When will the code be released？

Dear author, Hello!
After reading your paper “3D Adversarial Attacks Beyond Point Cloud” , I appreciate your paper very much. I am eager to understand the paper more deeply by combining the source code of this paper. If you can provide  me a corresponding source code conveniently, I will be very grateful!

Thanks for your interest!
We have released the code.


Apple airplay is not working with secured video from CloudFront.

Current behavior
Airplay is not working with secured video from CloudFront.
Same video is playing on the IOS device as expected without any issue. But when using airplay option to play the video, it is not playing. Seems like header cookie is not passing when the video is playing on the other device.
Reproduction steps
Here is a sample code.
<Video
    key={`video-${mediaUrl}`}
    ref={videoRef}
    source={{
      uri: mediaUrl,
      headers: {
        cookie: mediaCookieString,
      },
    }}
    ignoreSilentSwitch={'ignore'}
    repeat={true}
    controls={false}
    resizeMode={'contain'}
    fullscreenAutorotate={true}
    fullscreenOrientation={'all'}
    style={styles.fullHeight}
    paused={paused}
    onReadyForDisplay={() => setIsBuffering(true)}
    poster={imageUrl}
    posterResizeMode="contain"
    volume={volumeLevel}
    onProgress={throttledSetProgressData}
    muted={
      assetTrack?.trackState === 1 && !assetTrack?.trackPaused
    }
  />

Expected behavior
Video should be playing on the connected device while using Airplay.
Platform

iOS

same issue for me

Can't airplay private HLS stream

Hello, any update?

same issue here, i can see the player load on my apple tv device but there is a red disabled icon on the progress bar and playback never begins. has anyone been able to resolve this?

im not sure if this will be helpful, but instead of using cookies to access secure videos from cloudfront, we tried using signed urls and airplay is now working great. this may not be an option for everyone, but it solved the problem for us


Changing new tab extraction sources

Goal
What changed? What is the business/product goal?

New extractions are being added to replace activity stream source table with new glean data (activity stream is being retired)

Implementation Decisions
These changes are nearly a replica of existing jobs 1 2. The difference is that we are pulling from a different dataset moz-fx-data-shared-prod.firefox_desktop_live.newtab_v1 - to differentiate, the new resulting tables are prefixed w/ glean_
Deployment steps

n/a Database migrations?
n/a Secrets?
[ ] FOR POCKET DEVELOPERS ONLY - Post in #changelog:

Write a #changelog message using our best practices if this PR (potentially) impacts users. Describe the 'why' and 'what'. @mention relevant teams. Link to this PR.

JIRA ticket:
https://mozilla-hub.atlassian.net/browse/MSDO-63

I left a few comments, but otherwise this looks 🪨 solid! Thank you!


Remove circleCI scripts and Update outdated references

Removes all the circleCI configuration, scripts and makefile targets.
Updates the knative version in the README.md from 0.9 to 0.12.1.
Update the CHANGELOG.md links to point to the new repository.

/lgtm


Support for passing custom file extensions to eslint / jshint

Note: I haven't tested the jshint part, only eslint

Published in<EMAIL_ADDRESS>


[Liminal] Dark-mode labels are too light on character sheet

When viewing a character sheet with dark mode enabled, the field label colors are too light.
I believe this is because it is missing a style override.

I've updated the CSS to sort out these labels. Colours should be consistent now.


Can't input token when running in docker

When running the script fo the first time in docker, the run is exited with an error when I need to enter the token.
The error is the following :
2024-06-29 19:08:22 Traceback (most recent call last):
2024-06-29 19:08:22   File "/usr/local/bin/withings-sync", line 33, in
2024-06-29 19:08:22     sys.exit(load_entry_point('withings-sync==4.2.4', 'console_scripts', 'withings-sync')())
2024-06-29 19:08:22   File "/usr/local/lib/python3.10/site-packages/withings_sync-4.2.4-py3.10.egg/withings_sync/sync.py", line 510, in main
2024-06-29 19:08:22     sync()
2024-06-29 19:08:22   File "/usr/local/lib/python3.10/site-packages/withings_sync-4.2.4-py3.10.egg/withings_sync/sync.py", line 415, in sync
2024-06-29 19:08:22     withings = WithingsAccount()
2024-06-29 19:08:22   File "/usr/local/lib/python3.10/site-packages/withings_sync-4.2.4-py3.10.egg/withings_sync/withings2.py", line 197, in init
2024-06-29 19:08:22     self.withings = WithingsOAuth2()
2024-06-29 19:08:22   File "/usr/local/lib/python3.10/site-packages/withings_sync-4.2.4-py3.10.egg/withings_sync/withings2.py", line 69, in init
2024-06-29 19:08:22     ] = self.get_authenticationcode()
2024-06-29 19:08:22   File "/usr/local/lib/python3.10/site-packages/withings_sync-4.2.4-py3.10.egg/withings_sync/withings2.py", line 118, in get_authenticationcode
2024-06-29 19:08:22     authentification_code = input("Token : ")
2024-06-29 19:08:22 EOFError: EOF when reading a line
2024-06-29 19:08:22 Token :
I have the "Token : " input but I can't give it the token because the run is finished with the error.
Any idea why ?
Let me know if you need more information

Please provide the full command. Do you have startet the container with docker run -it...?

I do not use a command line.
This happens when I un the image I downloaded in Docker desktop as shown below:

The next screen when running is the console with the logs provided

You have to go in interactive mode.


Add Kinesis tutorial

Description
Add Kinesis tutorial and fix KinesisSourceParams serialization issue. Fixes #1546.
How was this PR tested?
Inspected rendered markdown.

Merging. Let's test this once we have the binaries


sage: 8.7 -> 8.8

Motivation for this change
Tracking the betas & release candidates for the next sage update.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-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)
[ ] Assured whether relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Next round: https://github.com/NixOS/nixpkgs/pull/64193


Is this repo used anymore

Should this be superseded by just gplugins after gdsfactory version 8?

i think we could move the EME lumerical plugin and then deleted it
i marked it as archived or make it private
@sebastian-goeldi


Support .NET downloading

Perhaps through some additional configuration flag so as to not add options to users.

Partially but done in https://github.com/RevinderDev/imorph-updater/pull/3


Add support for tamil language

Add support for tamil language

Translations are done via the open source community
If you are able to translate you can add this yourself
https://github.com/Stirling-Tools/Stirling-PDF/blob/main/HowToAddNewLanguage.md
Otherwise i will close this request as its not something we can do ourselves


Feature: Allow statistics of World Cup scripts

Description
There's a whole bunch of World Cup scripts now available, it would be good to be able to view statistics on those.

#126 in testing


Update odl stable to v2.0.3

Huge adapter rewrite with new features and some breaking changes.

Changelog
Forum testing thread

SHould users be informed before update? We have the new Message feature where on upgrade a message box is shown and user can decide if he wants to continue or not ... ?!

@Apollon77 Just released v2.0.4 with the message added. Everything else is exactly like v2.0.3.

@crycode-de One tip: To mke sure all users see it you also need to add a globalDependency to Admin >= 5.1.28 (but no new version needed, just io-package on github should be enough before I merge :-)

@Apollon77 Done. Thank you for the tip 👍


Initial version of roadmap

Anyone have modifications or additions?
Presumably this and the one on PyViz should be linked into the docs somewhere, but I'm not sure where.  Any suggestions?

Any opinion on where to link this in?  Possibilities:

In the main TOC, after User Guide and Gallery and before About
Buried as a link under About.
In the same list as Gitter, Twitter, and Github.

I vote for 1, but that does make it quite prominent, so others may prefer a less prominent spot.

You can see an example of approach 1 at https://ioam-docs.github.io/pyviz-latest .

I'm fine with 1.

Ok, I've added a link to the roadmap, so I think this is ready to merge.


Skype Receiving Forbidden error

Skype Receiving Forbidden error when i'm typing something for getting response
Please help me what i do

@inornos have you updated your web.config with the right AppID and AppSecret before deployment? It seems that connector have auth issues calling your bot which is because of not having the right AppID and AppSecret. Forbidden implies that connector gets 403 calling your bot endpoint.

Yes my web.config is right I'm applying right App Id and App Secret.
I'm using Microsoft Bot Framework Emulator and its working with my online API, its responding me right
please check this image and please help me what i do for this, I'm excited to work with Skype bot Framework

My Error with skype

My Problem is solved by changing bot id and app secret


Can you mention how you install the tool and hook it to git

Great tool  !
The installation does not mention how git todos is able to find your tool. Its very neat but non obvious to someone like me who wants to be able to install/uninstall the tool without leaving any side effects :)

I think all you have to mention is that the tool has to be on the path for git todos to be able to find it ! I thought it was more involved than that !

Hey @ymolists  thank you for opening this :+1:
Yeah, there I didn't mention that the tool has to be present in the system PATH in order to be discovered by git, Thank you for pointing that out. Will try to update the README ASAP

Is there is anything else you think missing or unclear?


Any plans to add support for Angular 2?

As the title says :)

that would be great!

@adambuczynski @Jackson88  I haven't dived into Angular 2, but I imagine there's a better way to handle configuration. Any ideas?

@guzart I don't think this plugin is going to be necessary perse, since you can use TypeScript with Angular 2, or even just ES6 modules, and include a configuration object/array from just about anywhere. So the need for an angular module wrapper will probably disappear.
I've started working on a simple seed project for Angular 2, and so far haven't needed the plugin, but will let you know if that changes.


Bugfix: line number inconsistency when creating change recommendations

@emanuelschuetze Please test.

There is still an error:

create new motion with 5 lines
set start line to "10"
create a change recommendation for first line (line 10).
=> Error: Inconsistency or invalid call of this function detected (to)

Please try again.

@emanuelschuetze: Ping.


Parseable download URL via api.github.com

It is not possible anymore to find the download url in an parsable form via api.github.com:

 # curl -s https://api.github.com/repos/Microsoft/vsts-agent/releases/latest

[...]
  "assets": [
 ],
 "tarball_url": "https://api.github.com/repos/Microsoft/vsts-agent/tarball/v2.129.0",
 "zipball_url": "https://api.github.com/repos/Microsoft/vsts-agent/zipball/v2.129.0",
 "body": "## Features\r\n  - use SChannel for git during get source. #1377\r\n  - enable process force clean by default. #1372\r\n  - ordered test support in trx reader #1361\r\n## Bugs\r\n  - fix cancellation race condition. #1352\r\n  - skip most of the web console lines for last run. #1364\r\n  - fixed issue where autologon was not working with .\\username #1343\r\n  - update Xamarin.Android capability on macOS #1342\r\n## Misc\r\n  N/A\r\n\r\n## Agent Downloads  \r\n\r\n|         | Package                                                                                |\r\n| ------- | ----------------------------------------------------------------------------------------------------------- |\r\n| Windows | [vsts-agent-win-x64-2.129.0.zip](https://vstsagentpackage.azureedge.net/agent/2.129.0/vsts-agent-win-x64-2.129.0.zip)      |\r\n| macOS   | [vsts-agent-osx-x64-2.129.0.tar.gz](https://vstsagentpackage.azureedge.net/agent/2.129.0/vsts-agent-osx-x64-2.129.0.tar.gz)   |\r\n| Linux   | [vsts-agent-linux-x64-2.129.0.tar.gz](https://vstsagentpackage.azureedge.net/agent/2.129.0/vsts-agent-linux-x64-2.129.0.tar.gz) |\r\n\r\nAfter Download:  \r\n\r\n## Windows\r\n\r\n``` bash\r\nC:\\> mkdir myagent && cd myagent\r\nC:\\myagent> Add-Type -AssemblyName System.IO.Compression.FileSystem ; [System.IO.Compression.ZipFile]::ExtractToDirectory(\"$HOME\\Downloads\\vsts-agent-win-x64-2.129.0.zip\", \"$PWD\")\r\n```\r\n\r\n## OSX\r\n\r\n``` bash\r\n~/$ mkdir myagent && cd myagent\r\n~/myagent$ tar xzf ~/Downloads/vsts-agent-osx-x64-2.129.0.tar.gz\r\n```\r\n\r\n## Linux\r\n\r\n``` bash\r\n~/$ mkdir myagent && cd myagent\r\n~/myagent$ tar xzf ~/Downloads/vsts-agent-linux-x64-2.129.0.tar.gz\r\n```\r\n"
}

Could you change the releases that the download url is available as key-value pair in the assets tag and we do not need to parse the body of the request?

There's plenty of libraries to parse an url.  Can you explain why you need to parse the url?  The point of the url is it's an opaque url to do a get against.

I do not want to parse the url, I want to get the download URL for the vsts-agent tgz file. In the past that was easy using the following command against the API of github:
curl -s https://api.github.com/repos/Microsoft/vsts-agent/releases/latest | jq -r .assets[].browser_download_url
Now you changed something in the releases so the download url is not in the assets[] in the returned JSON object from the Github API.

#1644

Thanks a lot @TingluoHuang. Closing this issue with fix in #1644


It is better to specify detailed path of management service endpoints for access.

You can then access all the service endpoints from the virtual machine you created.
<<< If you want to access mangament service endpoint, you need to specify the path of the website address.
https://contosointernalvnet.management.azure-api.net/apis?api-version=2018-06-01-preview
By detault, "https://contosointernalvnet.management.azure-api.net" is not accessable.

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

ID: c0666302-7986-481e-97a0-2515d5c60210
Version Independent ID: 2d45104c-c3ec-4432-ea6f-117ca53ed8cb
Content: Use Azure API Management with internal virtual networks - Azure API Management
Content Source: articles/api-management/api-management-using-with-internal-vnet.md
Service: api-management
GitHub Login: @vladvino
Microsoft Alias: apimpm

@yinoa I believe the focus here is about accessing the endpoints when deployed into a VNET.
The reference doc for the (direct) REST API is covered in its docs. Also, do note that you can still use the ARM REST APIs to manage your instance even though its deployed into a VNET since the required ports are expected to be present in the NSG rules.

Hi Pramod,
Thanks for your quick reply.
Yes, I found that specific path finnally just like you mentioned.
https://docs.microsoft.com/en-us/rest/api/apimanagement/apimanagementrest/azure-api-management-rest-api-authentication
Since it is a "how to" guide,  it is better to provide user detailed method to access the service endpoints. Or remind users to attention about the path of those service endpoints at least.

@yinoa I believe that is out of scope for this document since the focus here is on deploying APIM into a VNET and its required setup.
The ARM APIs power the Azure Portal and PowerShell cmdlets for automation which are separate topics of their own and are covered in their own docs. These are preferred over using the direct management endpoint as well.

@yinoa Just following up here... Hope my previous comment clears things up.
Since there is no doc update required here, we will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Zoom control on embed map from a mobile device

When setting a map and disabling zoom Control and scroll wheel the map is blocked so user can't pan or zoom. This works correctly on desktop browsers but apparently on a mobile device the settings are not honored and user can still pan and zoom the map.
Side note: typically, one wants to disable these settings to avoid (specially on mobile devices) to get the user trapped on the map when it fits the whole screen width and height so you cannot scroll the webpage up or down anymore. Not sure if this can be avoided at all on an iframe.

There has been no activity on this issue for more several months. We are closing it. If you think this still needs to be addressed please open a new issue.


Update sbt-typelevel to 0.5.2

About this PR
📦 Updates org.typelevel:sbt-typelevel from 0.5.0-M5 to 0.5.2
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.typelevel", artifactId = "sbt-typelevel" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "org.typelevel", artifactId = "sbt-typelevel" }
}]

labels: sbt-plugin-update, early-semver-minor, semver-spec-pre-release, version-scheme:early-semver, commit-count:1

Superseded by #95.


Sorry, something went wrong - Trying to provision

Expected or Desired Behavior
Trying to Provision Microsoft 365 learning pathways per instructions
Observed Behavior
Successfully signed in to https://provisioning.sharepointpnp.com/home/details?packageId=3df8bd55-b872-4c9d-88e3-6b2f05344239 as a tenant administrator
accepted the permissions
Browser clears and after waiting get the following error:
Sorry, something went wrong
There was an unexpected issue. Please try again after a while.
IDX21324: The 'nonce' has expired: '[PII is hidden]'. Time from 'nonce': '[PII is hidden]', Current Time: '[PII is hidden]'. NonceLifetime is: '[PII is hidden]'.
at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectProtocolValidator.ValidateNonce(OpenIdConnectProtocolValidationContext validationContext) at Microsoft.IdentityModel.Protocols.OpenIdConnect.OpenIdConnectProtocolValidator.ValidateAuthenticationResponse(OpenIdConnectProtocolValidationContext validationContext) at Microsoft.Owin.Security.OpenIdConnect.OpenIdConnectAuthenticationHandler.d__1a.MoveNext()
Steps to Reproduce
Tried a few times ended up with the same result.

Hi @AdamPJones,
Thanks for your feedback. We have a known issue with Edge, and we are working on fixing it. If you are using Edge, I would ask you to use another browser in the meantime. Thanks.

Thank you, changing browser has resolved the issue.
From: Paolo Pialorsi<EMAIL_ADDRESS>Sent: Thursday, 6 June 2019 9:16 AM
To: SharePoint/sp-provisioning-service<EMAIL_ADDRESS>Cc: AdamPJones<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [SharePoint/sp-provisioning-service] Sorry, something went wrong - Trying to provision (#28)
Hi @AdamPJoneshttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FAdamPJones&data=02|01||7c484e1433f349a1278708d6ea0bd4db|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636953733862917213&sdata=EpK8xlWAfOY3Zon6cfeEiw%2F92emUe%2F0L%2FurKhF%2F6aKc%3D&reserved=0,
Thanks for your feedback. We have a known issue with Edge, and we are working on fixing it. If you are using Edge, I would ask you to use another browser in the meantime. Thanks.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FSharePoint%2Fsp-provisioning-service%2Fissues%2F28%3Femail_source%3Dnotifications%26email_token%3DAMGYBSQDLMUMRTOCJGK2ACLPZBCMPA5CNFSM4HS42I42YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXBJADQ%23issuecomment-499290126&data=02|01||7c484e1433f349a1278708d6ea0bd4db|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636953733862927218&sdata=FLW2H4MJFrEGrZJ%2BIMAzeE9xNIIz%2FxmqgaYhcb0d1uI%3D&reserved=0, or mute the threadhttps://apc01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAMGYBSQGMDDXYTCCU7LPM4LPZBCMPANCNFSM4HS42I4Q&data=02|01||7c484e1433f349a1278708d6ea0bd4db|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|636953733862937229&sdata=xA9BVrc00U5wxWvWUn7MvNJ2P%2FM1Pjwr%2BU7yldGIpOE%3D&reserved=0.


<EMAIL_ADDRESS>Exit code while extracting

C:\Windows\system32>scoop install mediainfo-gui
Installing '7zip' (18.05) [64bit]
Loading 7z1805-x64.msi from cache
Checking hash of 7z1805-x64.msi ... ok.
Extracting 7z1805-x64.msi ... done.
Linking ~\scoop\apps\7zip\current => ~\scoop\apps\7zip\18.05
Creating shim for '7z'.
Creating shortcut for 7-Zip (7zFM.exe)
'7zip' (18.05) was installed successfully!
Installing 'mediainfo-gui' (18.05) [64bit]
Loading MediaInfo_GUI_18.05_Windows_x64_WithoutInstaller.7z from cache
Checking hash of MediaInfo_GUI_18.05_Windows_x64_WithoutInstaller.7z ... ok.
Extracting MediaInfo_GUI_18.05_Windows_x64_WithoutInstaller.7z ... Exit code was -1.

It might be on my side, but it's strange it's not extracting the 7zip file while other packages doesn't have this problem.
Re-installing Mediainfo and 7zip seperatly doesn't work. The 7z archive does extract with 7zip when using the file manager.
My Anti-Virus program doesn't block extracting this file either. So i'm not sure what it could mean. A broken PATH variable maybe?

Seems that the 7z command prompt tries to open a 7z executable that doesn't exist. It's a Chocolatey collusion i think.

Removing the 7z shim from Chocolatey fixed the issue which made sense if 7zip couldn't even be called to extract the file.