Allow custom URL for the used GPT API

This add a boolean and a string setting to the module.
The boolean would determine if a custom URL is to be used.
If so the string from that custom URL is used instead of the OpenAI api.
This makes the module usable with e.g. LM Studio.

Thank you very much for your interest and pull request! I assume this is very much alike #14.
Some questions, if you don't mind:

I assume the respective documentation for LM Studio is here.
Which version of Foundry VTT did you test this on?
Could you share your own specific use case for the feature? Not just "use with LM Studio", but along the lines of "I want to run ... kind of LLM locally and expose it in ... way to Foundry and use with the ... game system, because I want ... or I find that this is better for ...". I want to understand your motivation and possible additional points for improvement for the module.

Correct. This isn't restriceted to LMStudio but basically makes the module compatible with every OpenAI compatible API. So LM Studio, https://github.com/oobabooga/text-generation-webui or SaaS.
I did test in the current v12 (.318 I think) build.

I locally actually update some other modules (https://github.com/TheComamba/UnKenny, https://github.com/adougherty/ai-tools, https://github.com/Halftonex/npc-generator-gpt )
In short you'll,

already find some pre trained/refined models on huggingface
will soon find smaller models with appropriate context windows so it will become attractive for more people to run GAI on local machines
So special models with pre trained behavior freeing up the context window while still delivering specific infos)

For some time I contributed to the npc sheet 5e modules and I wrote the lootpopulator module (merged into the npc sheet at some point).
All of the above mentioned modules could benefit from the following features IMHO.

Setting for the service (this PR basically)
Settings for Model (GPT3, ...4, Mistral, Olama; Gemma, ...)
Settings for Streaming mode (in other words if used for chat or even generation, this could be done async/non blocking in the background. Not sure if the chat could also be "streamed".
Edit/enhance/add the "commands" for the models.

based on the model the initial prompt can be very important but also take up space in the context window

So my current goal is to prepare the lootsheet for v12.
Fixing some bugs, preparing for the application framework and theming in dnd 3(foundry system).
Combining above mentioned modules and getting them ready for v12. Basically brings fully fledged NPC with a full background, items, relations, properties, ... that can trade, barter and chat with the players on the press of a button or the drop of a token.
And all this without beeing depended on someone else :D


Create Bonface.yml

Added Bonface as an attendee

Great! Well done on making the change 😃
Now it should be - name: instead on name and could you add two spaces before github to be   github?

Awesome, thanks too!
On Fri, Oct 15, 2021, 15:18 Nikoleta Glynatsi @.***>
wrote:

Merged #24
https://github.com/Nikoleta-v3/getting-started-with-open-source/pull/24
into gh-pages.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Nikoleta-v3/getting-started-with-open-source/pull/24#event-5469490321,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWAFVN6LXQJ5FTXXZFZN343UHALX3ANCNFSM5GBS7QZA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.


contributor account for: Ioannis (Giannis) Moustakas

Please create an account a contributor.
Contributor details:

name: Ioannis (Giannis) Moustakas
email<EMAIL_ADDRESS>
Request Details:

Requested by: Parisa Nejad
slack link

SOP link

Email from Ioannis:
"Dear Jacob,
Thank you for your mail and for sharing the access keys through google docs. I had a quick look at the instructions and they appear clear to me.
It might take some time before I can upload the files, as I will soon leave for holidays and I am not sure I can complete the task before that time. In any case I will mail you when the process is complete."


question/advice testing recipes against OSX

hi guys.
Trying to write some tests for an OSX recipe and getting some funky errors. This is the first time I've tried to write these tests for OSX.
# spec_helper.rb
require 'chefspec'
require 'chefspec/berkshelf'
require 'json'

RSpec.configure do |config|
  # Specify the Chef log_level (default: :warn)
  config.log_level = :error

  # Specify the operating platform to mock Ohai data from (default: nil)
  config.platform = 'mac_os_x'

  # Specify the operating version to mock Ohai data from (default: nil)
  config.version = '10.10.5'
end

Chef::Config[:data_bag_path] = "#{File.dirname(__FILE__)}/../test/integration/data_bags"
ChefSpec::Coverage.start!

#default_spec.rb
require 'spec_helper'

describe 'osx-sketchsync::default' do
    let(:chef_run) do
        ChefSpec::SoloRunner.new do |node|
          # Create a new environment (you could also use a different :let block or :before block)
            env = Chef::Environment.new
            env.name = testing

            # Stub the node to return this environment
            allow(node).to receive(:chef_environment).and_return(env.name)

            # Stub any calls to Environment.load to return this environment
            allow(Chef::Environment).to receive(:load).and_return(env)
        end.converge(describe_recipe)
    end

    it 'installs python via homebrew' do
        expect(chef_run).to install_package('python')
    end

end

#error
17:10 $ rspec spec/default_spec.rb
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-<IP_ADDRESS>/lib/httpclient/webagent-cookie.rb:458: warning: already initialized constant HTTPClient::CookieManager
/opt/chefdk/embedded/lib/ruby/gems/2.1.0/gems/httpclient-<IP_ADDRESS>/lib/httpclient/cookie.rb:8: warning: previous definition of CookieManager was here
F

Failures:

  1) osx-app::default installs python via homebrew
     Failure/Error:
               ChefSpec::SoloRunner.new do |node|
                   env = Chef::Environment.new
                   env.name = testing

                   allow(node).to receive(:chef_environment).and_return(env.name)
                   allow(Chef::Environment).to receive(:load).and_return(env)
               end.converge(describe_recipe)

     Fauxhai::Exception::InvalidPlatform:
       Could not find platform 'mac_os_x/10.10.5' in any of the sources!
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai/mocker.rb:63:in `rescue in block in fauxhai_data'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai/mocker.rb:60:in `block in fauxhai_data'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai/mocker.rb:77:in `call'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai/mocker.rb:77:in `fauxhai_data'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai/mocker.rb:26:in `initialize'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai.rb:12:in `new'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai.rb:12:in `mock'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/chefspec-4.4.0/lib/chefspec/solo_runner.rb:373:in `client'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/chefspec-4.4.0/lib/chefspec/solo_runner.rb:141:in `node'
     # /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/chefspec-4.4.0/lib/chefspec/solo_runner.rb:84:in `initialize'
     # ./spec/default_spec.rb:5:in `new'
     # ./spec/default_spec.rb:5:in `block (2 levels) in <top (required)>'
     # ./spec/default_spec.rb:20:in `block (2 levels) in <top (required)>'
     # ------------------
     # --- Caused by: ---
     # OpenURI::HTTPError:
     #   404 Not Found
     #   /Users/crisg/.chefdk/gem/ruby/2.1.0/gems/fauxhai-2.3.0/lib/fauxhai/mocker.rb:61:in `block in fauxhai_data'

Finished in 2.15 seconds (files took 24 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/default_spec.rb:19 # osx-app::default installs python via homebrew

  No Chef resources found, skipping coverage calculation...

Hi,
It's likely due to Fauxhai not having the 10.10.5 definition. Have a look in https://github.com/customink/fauxhai/tree/master/lib/fauxhai/platforms/mac_os_x
So I guess either try using a version already defined, or put in a PR to define one :)

Thanks that totally helped out. :+1:


feat: headers and status code when serve

Codecov Report
Attention: Patch coverage is 0% with 4 lines in your changes are missing coverage. Please review.

Project coverage is 89.31%. Comparing base (5fcccf5) to head (dfff2ab).

Files
Patch %
Lines

src/serve.rs
0.00%
4 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #134      +/-   ##
==========================================
- Coverage   89.64%   89.31%   -0.34%
==========================================
  Files          14       14
  Lines         811      814       +3
==========================================
  Hits          727      727
- Misses         84       87       +3

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


List advisors on website

We should list all of our advisors on our website, probably in the team section.

Tom Gruber
Cary Rosenzweig
Pierre Arys
Beyang Liu
Quinn Slack

I'll update this list as we confirm with other advisors whether they'd like us to list them publicly.

Alright, I've submitted #149 for this.


White screen with question mark when opening a game

Whenever I package a project and open the game, it just shows a white screen with a question mark. When I view the game in the preview though, it runs fine

send me one of those broken packaged files, either here or email<EMAIL_ADDRESS>


Fetch prometheus metrics from UWM

Closes:

#1855
#1916
#1109

Description

Migrates prometheus metrics queries for explainability and performance to use UWM.
Modifies model performance queries to use model mesh native prometheus function instead of haproxy (haproxy functions don't work with UWM.

Notes:

A dashboard build with these changes is available here: quay.io/acreasy/odh-dashboard:uwm

How Has This Been Tested?

Requires a DS project with a model server installed, TrustyAI service installed and some models to test. You'll also need to fire some data at the model.
Note: this can't be tested locally in dev mode as the queries need to be made via RBAC, which isn't available via external routes, use the image listed above to test.
Run these tests as a cluster admin and also as a user with admin role on the ds project to verify.
For your given test model:

Open the model server metrics view, verify data is shown on the various charts.
Open the model metrics view, verify the Performance metrics work as expected - i.e. that the charts show plotted data and respond to the controls.
Navigate to the bias tab and verify that data is plotted on the charts and the controls respond as expected.

Test Impact

No tests at this time, I'll create an issue for testing this issue as a whole after.
Request review criteria:

Self checklist (all need to be checked):

[x] The developer has manually tested the changes and verified that the changes work
[x] Commits have been squashed into descriptive, self-contained units of work (e.g. 'WIP' and 'Implements feedback' style messages have been removed)
[x] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[x] The developer has added tests or explained why testing cannot be added (unit tests & storybook for related changes)

If you have UI changes:

[ ] Included any necessary screenshots or gifs if it was a UI change.
[ ] Included tags to the UX team if it was a UI/UX change (find relevant UX in the SMEs section).

After the PR is posted & before it merges:

[x] The developer has tested their solution on a cluster by using the image produced by the PR to main

out of interest:
are you using port 9091 (all-or-nothing clusterrole) or port 9092 with url parameter "namespace" for Thanos?
https://cloud.redhat.com/blog/thanos-querier-versus-thanos-querier

Hey @shalberd,
Excellent question, we'll be using the 9092 port with url param namespace - this seemed to make the most sense as the 9091 port requires users to have pretty high privileges to make the query - the kind your average data science user is unlikely to have!

@shalberd So that's the issue I'm running face first into - haproxy metrics don't work with the updated implementation!!! Thanks for the info, I'm going to read through the thread you linked to and try to get an understanding of this!
CC: @VedantMahabaleshwarkar I don't know if you're still struggling with the haproxy queries - if so it's probably worth reading the thread Sven has linked above as it could well throw some light on the problem!

The PR has been updated  to fetch metrics from UWM. Model performance metrics are now based on native modelmesh query functions rather than the previous haproxy which do not work via UWM.

Bias data comes through fine with graphs showing data, however model metrics data is not showing up in the performance metrics tab

Model performance metrics are now based on native modelmesh query functions rather than the previous haproxy which do not work via UWM.

Very cool, that way, you save yourself the hassle of having to deal with openshift-ingress and getting that secret into the odh namespace.
Being able to rely on UWM / Monitoring for User Defined Projects with ServiceMonitor or PodMonitor CRs in the namespaces is awesome. Thank you all so much, and thanks to people higher up at RedHat that finally gave the go-ahead on UWM.

Did a re-review with new data and all graphs show with data flowing
/lgtm

/lgtm
Working as expected

/approve


Update PROTOCOL.md WRT recent user status protocol changes

This needs a review, I'm only basing this off changes I can see while interacting with the server.

Thank you for updating this! I will also need to remember in #5627 to update it further, but this change accurately reflects the current protocol to the best of my understanding


Proposal to use tauri instead of electron

First of all, thank you for your work and for making it free to use.
Tauri uses the OS builtin webview to produce bundled cross-platform apps, which produces much leaner binaries. It took me less than 5 minutes to build a test tauri app for macOS and the uncompressed app size is only 9.1MB. The memory usage is also significantly lower, at under 300MB under heavy use.

Would you consider implementing a build script using tauri?

Thanks for your interest in Dithermark and taking time to look into this. I have taken a cursory look at Tauri, and most likely I will not be going in this direction, however I also plan to move away from Electron as well. To better understand the reasons for this, here is some background.
A while back I got some requests for the ability to run Dithermark offline. I created an Electron version, not due to any experience or affinity with Electron, but because that seemed the default way to create an offline version of a web app. However the following problems soon became apparent, in both the dev and user experience.

Limited ability to cross-compile (requires access to Mac). Different executables have to be created for different Linux distributions.

OS warnings / errors due to binaries not being signed.

Electron behaves slightly differently to Chrome. This mostly affects the batch image export, as each image must be manually saved, making the feature mostly pointless.

When looking at Tauri, while it might have better performance than Electron, it mostly has those same problems.

No ability to cross-compile.

Binaries will still not be signed.

A web view might behave the same as a browser, but it would require extensive testing, since each platform would use a different browser engine.

I got an idea for a different direction when hearing how a colleague was distributing a fork of Dithermark for offline use as a single HTML file to bypass these problems. The problem with that is that when an HTML file is opened locally instead of via a web server, some features (such as web workers), are not available. It got me thinking of distributing the compiled files with a web server to get around these problems.
My plan for this is:

Python 3 is installed by default on macOS, most Linux distributions and FreeBSD. So I can include a simple shell script to start a static HTTP server using Python 3.

Windows does not include Python or any HTTP servers I could find, however Go allows cross-compilation and can be used to create a simple static HTTP server with no external dependencies. So use Go to create binaries for Windows on x64 and ARM (would still have code signing warnings).

While it is less polished than distributing an Electron or Tauri app, it serves the purpose of allowing users to use Dithermark offline. It also gets rid of code signing warnings everywhere except Windows, is guaranteed to work the same as the online version, allows support on more platforms, requires the least user resources, and offers the best development experience (since only Windows binaries need to be created, and can be done from any platform).


Add account name and container name in the ContainerBlobsResource and AccountBlobsResource

Summary
Adding a new method to AclResource to return the detail of the resource, so we can return the account name and container name in the http response header back to client.
Test
./gradlew allJar

Codecov Report
Attention: 14 lines in your changes are missing coverage. Please review.

Comparison is base (ad3e12c) 72.58% compared to head (4bb1281) 53.16%.

Files
Patch %
Lines

...m/github/ambry/account/ContainerBlobsResource.java
0.00%
11 Missing :warning:

...com/github/ambry/account/AccountBlobsResource.java
0.00%
2 Missing :warning:

...main/java/com/github/ambry/account/AclService.java
0.00%
1 Missing :warning:

Additional details and impacted files
@@              Coverage Diff              @@
##             master    #2672       +/-   ##
=============================================
- Coverage     72.58%   53.16%   -19.43%
+ Complexity    11560     7804     -3756
=============================================
  Files           810      810
  Lines         65640    65654       +14
  Branches       8018     8018
=============================================
- Hits          47648    34907    -12741
- Misses        15383    27725    +12342
- Partials       2609     3022      +413

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


Method list_tables does not return table schemas

I am trying to use the bigquery python API to do a migration program (to create and update table schemas), but when I try to retrieve the current schemas from a dataset, I can't get the table schema because the array that is supposed to return the list of SchemaFields is always empty.
See the folow snippet:
# get a dataset from project
dataset = [db for db in client.list_datasets() if db.name == 'datasetname'][0]

# get a table from dataset
[table.__dict__ for table in dataset.list_tables()][0]

It returns the following data:
{
    'name': 'tablename',
    '_dataset': <google.cloud.bigquery.dataset.Dataset object at 0x7fd50c154048>,
    '_properties': {
        'kind': 'bigquery#table',
        'id': 'projectname:datasetname.tablename',
        'tableReference': {
            'projectId': 'projectname',
            'datasetId': 'datasetname',
            'tableId': 'tablename',
        },
        'type': 'TABLE',
    },
    '_schema': (),
}

I am using Python 3.6.1 in Antergos, google-cloud-python version 0.24.0.
I would expect the field _schema to show the current fields in the dataset, once the table 'tablename' already exists.

@leonardoam Unfortunately the schema is not part of the response for tables.list, see the docs.
I am pre-emptively closing, but we can re-open if there is anything that can be done.
@tswast Can you confirm my observation about the API spec?

Yeah, unfortunately to get all the data it looks like you have to do a subsequent get. I'll pass this on to the eng team.

Or, actually @leonardoam would you mind filing this as feedback for the BigQuery backend API using the Google Issue Tracker? https://issuetracker.google.com/issues/new?component=187149&template=0


T8520P Add lock or unlock option[Feature request]:

Describe the solution you'd like
I see the T8520P (I have T8520P not sure if its different) is not currently supported.
I would love if you could get this device added. I am running Firmware Version <IP_ADDRESS>
Thank you!

How would I provide you access?

@sharpwranglers
By sharing the device with admin rights for the following account:

<EMAIL_ADDRESS>

@bropat Ok I've added you. Thanks so much!


Add blackmagic davinci resolve

Add cask for Blackmagic Davinci Resolve - one of the most powerful video production tool.
There are two versions of Davinci Resolve:

Normal - works only with special usb dongle :moneybag::moneybag::moneybag:.
Lite - absolutely free, but without some features

What version should place here? I add casks for both.
There is a problem with uninstaller: To uninstall davinci resolve you should execute special app "Uninstall Resolve.app". I implemented uninstall through uninstall :script, but when script executed, uninstaller asks user input. Is there something like installer :manual for uninstaller?
P.S.: Check Utils.blackmagick_url, please. Is there a more beautiful way?
P.P.S.: Is there way to prevent installation of cask if another cask already installed? For example: if davinci-resolve installed, then you can't install davinci-resolve-lite and vice-versa

We should include neither. It’s one thing when the vendor puts up a registration wall but the url is publicly accessible, but it’s quite another to load an entire external library and fake an identity to bypass said wall. To me, that is highly unreasonable. If the developer goes to such lengths and puts such technical walls in front of its downloads, we shouldn’t go around them.
Thank you nonetheless for the work you put into this, @donbobka. I’m also leave it open for now, in case other maintainers want to chime in, by I say we close this.

In really, fake identity required only for lite version. Let's i change davinci-resolve.rb

Yes, but the non-lite version has a huge link with a token and an expiration, so it’s no good either.

The same way like in x-mirage.rb

What do you mean? x-mirage has a tiny url that can be easily curled and doesn’t expire.

The same way like in displaylink.rb. They use a amazon s3 to store files

Fair point (although the where they actually host the files is irrelevant). You’re still loading an entire library for a single action, though, which wasn’t addressed. Can you do it in the same manner as the displaylink.rb cask?

Fast answer: no, because displaylink returns response with http redirect to amazon s3(with token) and blackmagick only returns link(with token) in response body, which we should process and make second request. But i'll try to find some workaround.

Closing for lack of further interest/implementation.


Update crate-jdbc getting started documentation

Summary of the changes / Why this is an improvement
The latest documentation already reflects these changes, but we need the 2.6 version of the documentation to also reflect these changes.
Checklist

[ ] CLA is signed

We should backport everything related to also support releasing hotfix versions out of this release branch. See https://github.com/crate/crate-jdbc/pull/340.
Only the unreleased changes entry should be dropped on this PR, I'll do that now.
Backports can be done by mergifyio which also automatically add references to the original commit which is very helpful when reading the commit history. See https://github.com/crate/crate-jdbc/pull/338#issuecomment-805641657.
If done manually git cherry-pick -x will also add a reference.


No module export

hello i have seen you dont have module.export so if used needs to be given the entire path. is this for a specific reason?
if is not, do you mind i change it and make a PR.

I read the code and there is a module export. i need to understand why it is not working :+1:
i wanted to use your module in electron


Build js in docker image

Build runs through:
...
Removing intermediate container f0c6c3d7910e
Step 5 : ADD . /app
 ---> 6c38dbc573c8
Removing intermediate container 25d4baff620b
Step 6 : CMD gulp
 ---> Running in 564f1fc4daaa
 ---> 09f837119735
Removing intermediate container 564f1fc4daaa
Successfully built 09f837119735

but there is no dist dir :(
$ docker run weave/scopeui ls
Dockerfile
README.md
app
gulpfile.js
node_modules
package.json
test

@tomwilkie any idea?

Try running with
docker run -v ./app:/app weave/scopeui

@tomwilkie relative paths dont fly. But this line works:
docker run -v $GOPATH/src/github.com/weaveworks/scope/client:/app weaveworks/scope-build
Over to you.

This fixes #12

@davkal this is GTG; PTAL and LGTM!

Works great!

I got into trouble when I had an old client/dist dir lying around, the JS was not built then
maybe depend on client/dist/scripts/bundle.js, client/dist/styles/main.css and client/dist/index.html instead


Fix dead link in README.md

And copy over the text from the other README in docs/

Wow, that's embarrassing. Thanks for catching this!
Please make a new PR against develop since master is the current stable release (cf. https://github.com/mathjax/MathJax/wiki/Source-control-policies#the-main-branches)

done

Thanks!


Request for arm support

Having just aquired an Odroid HC2 from Hardkernel, seeing support for arm would be really appriciated.
Currently, the only "alternative" is the unmaintained burst_arm_tools, which currently doesn't work, and only generates unoptimized poc1 plots.

Willing to add if you provide ARM shabal code

Engraver 2.0 should support ARM out-of-the-box.


The demo link is broken

The demo link is broken.

Thanks. Looks like @ng-tools/webpack hasn't been fixed. I'll get another push up tonight.

The link is still broken and I don't had any luck finding documentation anywhere else


Split ID and name attributes in skin controls

We've been treating ID and name as the same thing which isn't correct. These are now separate and uses of Name have been switched to Id where I think is appropriate.
This fixes attempts to reparent existing macros with names different from their id. That and a change to wincloning macro sets fixes non-hotkey mode in modern Paradise.
I also made every file in the Interface/ folder use file-scoped namespaces.

Fixes #1344?

I don't think it would. Menu elements are still added to a dictionary using their id, and the id is set to the name if there isn't an explicit one.


<3

I really like it David! good job!!! 👏  I think you should describe in main README all the functions you have available and that is not attached to postgres or so 💪

Btw, include knex as part of your dependencies instead of the dev ones 👍


crash on loading converted world

I made a test world with all the items and blocks from Mek7 Generators and Mek7 (core). I then updated to Mek8 (b509). Upon loading I got a message that "Mekanism:FrictionBoots" was missing.
Once I passed that screen, the world crashed. Log can be found here: http://pastebin.com/bH3NeBvZ
The "boots missing" error can be seen here: https://www.dropbox.com/s/2stth7firbg42sk/Mek8_BootsMissing.png?dl=0

Update to the very latest Mekanism - the first log was actually fixed already :)
Ignore the friction boots error.  I just changed the hardcoded ID to "free runners."


Probe more segments after segmenting

We found another case of bad (non-existing PPS 0 referenced) segments so we need to expand the checks

@thomshutt should we just check a handful of random segments too?


Significant Performance Improvement

For larger graphs, the existing library takes several seconds. This changes reduces it to 50ms.
The size of graph where this begins to make a difference is 10k+ nodes.

Thank you for pointing out that the topological sort was (inadvertently) O(N^2)!
I decided to rewrite it using an iterative approach so that it doesn't overflow the stack on huge graphs (See #36). I've also released version 0.9.0 that has the much faster implementation in it.


r2rml bootstrap may not generate default mappings for schema other than users

Hi,
I've been trying to get r2rml bootstrap to work. I have posted a message here:
https://groups.google.com/forum/#!topic/ontop4obda/vhHwecFYZxI
Any thoughts?
Omar

I have an update on this. I think there should be the ability for Oracle to change the getDefaultOracleSchema to a value perhaps that could in the properties file from cli or Protégé’s plugin
The issue is that in OracleRelationListProvider queries through user_tables & user_views
Instead perhaps queries could be added like:
select * from all_tables where owner = owner name is a variable
select * from all_views where owner = owner name is a variable
This would overcome this limitation


How to force | block scalar?

Hey all. I'm parsing a string value and it's being exported like:
key: >-
  Here is a pretty cool example string
  that extends multiple lines?

Is it possible to force it to either A: store the string as:
key: Here is a pretty cool example string that extends multiple lines?

Or specify which type of block scalar it's using? Such as:
key: >
  Here is a pretty cool example string
  that extends multiple lines?

https://github.com/nodeca/js-yaml#safedump-object---options- increase lineWidth

Oh, god that's simple; sorry I missed it. Thanks for the pointer! :D


Using "JsonConverter" as root namespace in Json classes

Hi!
First of all, I want to say that I am very grateful for your project. Thank you for doing it.
I encountered a small problem after I updated the "Handlebars.Net.Helpers" package from 2.3.5 to 2.3.12 and got many compilation errors:

CS0118 'JsonConverter' is a namespace but is used like a type

The point is that my project uses the JsonConverter class (from System.Text.Json) in many places. The problem with this name is because you started using such a namespace: namespace JsonConverter; in classes https://github.com/Handlebars-Net/Handlebars.Net.Helpers/tree/master/src/Handlebars.Net.Helpers.Core/Json
I wonder if you could change the namespace for these classes. For example, add HandlebarsDotNet or HandlebarsDotNet.Helpers in the beginning, like in other classes of your project. Or make them all as internal.
I really hope that my feedback will be helpful.

This is indeed introduced in that version.
I copied that implementation from https://github.com/StefH/JsonConverter (probably I need to change the namespace there also in the future if there are issues)
Now now, I'll just change the namespace from the classes here (or make these internal).

@OlegUfaev
Can you try preview version "2.3.13-ci-16977" ?
(https://github.com/Handlebars-Net/Handlebars.Net.Helpers/wiki/MyGet)

https://github.com/Handlebars-Net/Handlebars.Net.Helpers/pull/68

@StefH
I've just tried version "2.3.13-ci-16977".
Problem solved.
Thank you for your quick response.

new nuget will be releases in some time


Add Benchmarks to Docs

Would be awesome if some benchmarks could be added to show the difference between the webpack perf with and without hard source. Happypack has a good example

Here is an old benchmark from Happypack's developer. Leaving it here mostly as a note for myself.
https://github.com/webpack/webpack/issues/250#issuecomment-241195440

Elapsed (ms)
Happy?
Hard-Sourced?
DLLs?

95451*
No
No
No

4155

Yes

32578
Yes
No

4354

Yes

90216
No
No
Yes

29077
Yes

4511

Yes

I find this figure to be strange because normally I get much lower times (~60s without happypack and 10-11s with happypack), there may be something up with my box at the moment.


harmonize linkerd/namerd example usage

this allows for commands like ./sbt namerd-examples/basic:run, similar
to linkerd.

:star: nice, thanks for cleaning this up :curry:


PHOENIX-7130 Support skipping of shade sources jar creation

This is a backport of https://github.com/apache/phoenix/pull/1745

Rebased code and verified no new instances of createSourcesJar in code. Could you please merge this.?
CC: @gjacoby126 @stoty

merged manually.
Note that 5.2 still does not have this.


Online digital card generator

Online digital card generator files added with readme
closes issue #258
Stack - HTML CSS JS
ss -
https://user-images.githubusercontent.com/91609324/169870669-283b4061-eefe-4822-b227-a05ab55736ff.mp4

@AyushSingh22 bro please look after conflicts

@AyushSingh22 bro please look after conflicts

Aree bro i created this random password generator app... And then someone else also created this app with the same name.... So my local file had this index.html from first but now it's giving me error that there are two of them... I have no idea  how to fix this now.. Please request the guy to change the project name Or index.html to some other name

@AyushSingh22 bro please look after conflicts

Aree bro i created this random password generator app... And then someone else also created this app with the same name.... So my local file had this index.html from first but now it's giving me error that there are two of them... I have no idea how to fix this now.. Please request the guy to change the project name Or index.html to some other name

You can change the file name.


sand doesn’t fall

When I world edit sand in, it doesn’t fall, I use this method to create terrain as it produces a natural look for mountains as well although every time I world edit sand in I need to interact with it so it falls which makes this process unbearable.

//draw sphere <size (1-10)> true


ClipRRect fails to clip descendants to its rounded corners

The code below is supposed to render roughly like this:

If you run the code below the Container sporting the red background at the top of the UI doesn't appear to be clipped by its ClipRRect ancestor.
import 'package:flutter/material.dart';
import 'package:flutter/painting.dart';
import 'package:flutter/rendering.dart';
import 'package:flutter/widgets.dart';

class DifficultDemo extends StatefulComponent {
  DifficultDemoState createState() => new DifficultDemoState();
}

class DifficultDemoState extends State<DifficultDemo> {
  final List<String> row0 = <String>["2 PEOPLE", "TODAY", "7PM"];
  final List<String> row1 = <String>["6:30", "7:00", "7:30", "7:45"];
  final Color borderColor = const Color(0xFFEFEFEF);
  final double borderRadius = 6.0;

  Widget buildRow0Item(String label, int index) {
    bool lastItem = index == row0.length - 1;
    return new Flexible(
      child: new Container(
        padding: const EdgeDims.symmetric(vertical: 10.0),
        decoration: new BoxDecoration(
         border: lastItem ? null : new Border(right: new BorderSide(color: borderColor, width: 2.0))
        ),
        child: new Text(label,
          style: const TextStyle(textAlign: TextAlign.center)
        )
      )
    );
  }

  Widget buildRow1Item(String label) {
    return new Container(
      padding: const EdgeDims.symmetric(vertical: 6.0),
      decoration: new BoxDecoration(borderRadius: borderRadius, backgroundColor: const Color(0xFFDA3743)),
      width: 60.0,
      child: new Text(label,
        style: const TextStyle(color: Colors.white, textAlign: TextAlign.center)
      )
    );
  }

  Widget build(BuildContext context) {
    int row0ItemIndex = 0;
    Widget contents = new ClipRRect(
      xRadius: borderRadius,
      yRadius: borderRadius,
      child: new Container(
        decoration: new BoxDecoration(
          borderRadius: borderRadius,
          border: new Border.all(color: borderColor, width: 2.0)
        ),
        child: new Column([
          new Container(
            decoration: new BoxDecoration(backgroundColor: const Color(0xFFDA3743)),
            height: 32.0
          ),
          new Container(
            padding: const EdgeDims.all(12.0),
            child: new Row(row0.map((String label) => buildRow0Item(label, row0ItemIndex++)).toList()
            )
          ),
          new Container(
            height: 2.0,
            decoration: new BoxDecoration(backgroundColor: borderColor)
          ),
          new Container(
            padding: const EdgeDims.all(16.0),
            child: new Row(row1.map(buildRow1Item).toList(),
              justifyContent: FlexJustifyContent.spaceAround
            )
          )
        ],
          justifyContent: FlexJustifyContent.collapse
        )
      )
    );

    return new Scaffold(
      toolBar: new ToolBar(center: new Text("Difficult Layout")),
      body: new Container(padding: const EdgeDims.all(16.0), child: new Center(child: contents))
    );
  }

}

final ThemeData theme = new ThemeData(
  brightness: ThemeBrightness.light,
  primarySwatch: Colors.purple
);

void main() {
  runApp(new MaterialApp(
    title: 'List',
    theme: theme,
    routes: <String, RouteBuilder>{
      '/': (RouteArguments args) => new DifficultDemo()
    }
  ));
}

Is it possible to achieve this now? This is a pretty old issue, maybe there's something to address this by now?

I am 99.99% sure that this is moot now yes.


✨ Enable EdgePlacement to say "create-only"

Summary
This PR expands the EdgePlacement API so that an EdgePlacement can apply the "create-only" setting to selected objects. This is good because it enables the "create-only" setting to be applied to third-party workload objects.
Related issue(s)
This is built on #1277 and will be rebased if that merges first.
This is part of the campaign in #1274

If our syncer reacts to "overwrite downsync" true or false, then our edgeplacement should match that terminology. We should not have two different terms to mean the same thing.

Yes, consistency is good.  Consistency with ArgoCD, FluxCD, and OCM in the naming of this concept would also be good, if they happen to have the same concept and call it by the same name.

In the "application" side of OCM (not the "policy" side), they use the term "create only" for this concept, albeit motivated by a different use case.  See https://open-cluster-management.io/concepts/manifestwork/#resource-race-and-adoption

Right. We are not OCM. We use overwrite downsync.


Update known BAC values and entries

Somewhat related to https://github.com/LazyBone152/XenoKit/pull/32 (For the HomingFlagsEnum)

Looks good, but renaming the left flag in HomingFlagsEnum will break existing installers since they will still have the "Left" in the xml and not the new name. The way to fix this is to just include the old value at the end of the enum so there are two of the same values in there (you might've seen this already in a few other enums since i have done some renaming here and there already...)
For now I'll just merge this and fix it after

I completely forgot about that, that's my bad.


Update awake.md

Learn Build status updates of commit 39c01c6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

hub/powertoys/awake.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


env -create ,can you provide a conda yaml file?

Poetry install is a bit slower than pip. Can you provide an env yaml file? @wangzaistone

sure,   the file is as follows , and due to the .yml format is not allowed to upload in the github ,  so when you create env , you need to change the format to .yml .
Uploading dbgpt_hub.md…
move  dbgpt_hub.md  dbgpt_hub.yml
conda env create -f  dbgpt_hub.yaml

or use pip ,  pip install -r requirements.txt
requirements.txt

Okay, thank you very much.
Sent from Proton Mail for iOS
2023 年 12 月 1 日星期五 18:50, wangzaistone @.***(mailto:2023 年 12 月 1 日星期五 18:50, wangzaistone < 来信：

or use pip , pip install -r requirements.txt
requirements.txt
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>


How to escape a sequence or replace a Json response in bot framework composer?

Bot framework Composer Version: 2.1.1
Platform : Windows
I'm getting dynamic response as (double \ ) in the Name field
[
  {
    "Name": "\\Jack",
    "Age": "13"
  },
  {
    "Name": "Paul",
    "Age": "74"
  },
  {
    "Name": "Jim",
    "Age": "48"
  },
  {
    "Name": "\\Diana",
    "Age": "73"
  },
  {
    "Name": "Black",
    "Age": "35"
  }
]

But when I try to pass this in dropdown adaptive card.. It is throwing Bad JSON Sequence \J.
Adaptive Template in lg response:
# GetCard(collection)
[Activity
     Attachments = ${json(NameCard(collection))}
]

# NameCard(collection)
-```
{
  "type": "AdaptiveCard",
    "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
    "version": "1.3",
    "body": [
        {
      "type": "Input.ChoiceSet",
      "id": "CompactSelectVal",
      "label": "Please select your soldto",
      "style": "compact",
      "isRequired": true,
      "errorMessage": "This is a required input",
      "placeholder": "Please choose",
       "choices":[
       ${join(foreach(collection, item, NameSubmitAction(item)),',')}
       ]
         }
     ],
       "actions": [
    {
      "type": "Action.Submit",
      "title": "OK"
    }
  ]
}```

# NameSubmitAction(item)
-```
{
  "title": "${item.Name} - ${item.Age}",
  "value": "${item.Name}"
}```

Able to reproduce. Investigating.

You can strip off the \\ characters after getting the response.
So, let's say you get the response and store in the property dialog.theResponse. You can then use a Set Property action (let's say to dialog.myNewProperty) with the following expression:
=select(dialog.theResponse, x, setProperty(x, 'Name', replace(x.Name,'\\','')))
Then use that new property to pass in to NameCard(dialog.myNewProperty)
The expression uses the select, setProperty and replace prebuilt functions.
https://docs.microsoft.com/en-us/azure/bot-service/adaptive-expressions/adaptive-expressions-prebuilt-functions

Closing as solution given.


feat: added list and delete results to cpp

I'd target main, change versions two and make release on the branch

I need the feature for a version before the agent-worker communication changes...

I'd target main, change versions two and make release on the branch

I'd target main, change versions two and make release on the branch

I need the feature for a version before the agent-worker communication changes...

That's why I said on the branch

I'd target main, change versions two and make release on the branch

I need the feature for a version before the agent-worker communication changes...

That's why I said:

modify version on this branch (to 3.13.1)
make release on the branch
merge into main

Gotcha, though wouldn't it useful to have a 3.13.x branch if we need further developments on 3.13 ?

I'd target main, change versions two and make release on the branch

I'd target main, change versions two and make release on the branch

I need the feature for a version before the agent-worker communication changes...

That's why I said on the branch

I'd target main, change versions two and make release on the branch

I need the feature for a version before the agent-worker communication changes...

That's why I said:

modify version on this branch (to 3.13.1)
make release on the branch
merge into main

Gotcha, though wouldn't it useful to have a 3.13.x branch if we need further developments on 3.13 ?

We can just checkout from tag. No need for an explicit branch


Abliltiy to maximize/minimize by double clicking title bar

Last time it was working no idea why @meinname faced issues with it. I think because I only bound the event to OpenBullet title name StackPanel now it basically works if you double click any area of the title bar.
#89

Yep. I seems that was it.
Works now also for me ;)
Suggestion:
after going back from maximized it's in the top left corner.
If it's not to hard to do i'd prefer it on the last position it was or centered.
But that would be only a nice to have if it's not to hard to do.

Yep made it revert to the center will close it and pull the updates one.


'utf-8' codec can't decode byte 0xf1

any help.
Thank you

did it get fixed or you found an fix? i have this too

i maybe found a loop hole or a reason. test using another wordlist. rockyou is "UTF-8 text" but other wordlists are "ASCII text" and those will work.

Can be fixed by simply opening the rockyou.txt in a text editor like leafpad and in save as option use the UTF-8 encoding while saving this will solve the issue

error say
"UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf1 in position 933: invalid continuation byte "
and checking rockyou.txt we get
$ file /usr/share/wordlists/rockyou.txt
/usr/share/wordlists/rockyou.txt: Unicode text, UTF-8 text


Fix indexed parameters

I'm thinking we should probably add and test more indexing in the examples, and add them to the examples and test.
I checked this PR out and tried to work on that for a bit, but I got stuck on evaluating the indexed parameter for use in another function (in set_value()).
I see that it works in the demand constraint macro.

I just merged, given that tests are passing.


Added options to change log

Hi!
I added an options to change the logger

Needs a README update to document the new changes.

Forgot about it, fixed

Ping :bell:

Hi, is there any chance to merge this? I really need this feature


docs(auth): fix error in *ngIf syntax

Correct example for creating a local variable in *ngIf

Checklist

Issue number for this PR: NA (required)
Docs included?: NA (yes/no; required for all API/functional changes)
Test units included?: No(yes/no; required)
In a clean directory, npm install, npm run build, and npm test run successfully? No (yes/no; required)

Description

Code sample

Thanks @houfu!


Removed self.logger.clone() in filesink/filesrc

Hi @sdroege,
There is no contributing guideline so I went ahead and made a trivial PR. I hope it's ok.
I'm really interested in this project. Are you open for any form of contribution?
Best Regards,
Michał Budzyński

Thanks, I'll review that in a bit :)
I'll add a contributing guideline later also, of course I'm interested in all kinds of contributions :) if you have any example to point me to, please let me know

I'm interested in all kinds of contributions

Excellent!

if you have any example to point me to, please let me know

Well most of the rust projects I contribute to don't have a separate contributing file unless one is really needed (like in the case of rust-cookbook).
Typically a simple clause in readme about acceptable submission form and license suffices. But I guess that it's not really vital.
## License

Serde is licensed under either of

 * Apache License, Version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or
   http://www.apache.org/licenses/LICENSE-2.0)
 * MIT license ([LICENSE-MIT](LICENSE-MIT) or
   http://opensource.org/licenses/MIT)

at your option.

### Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in Serde by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.

Most likely any if these suggestions would be a major overkill ;)

Thanks, merged :) And also updated the README.md a bit.

Thanks very cool!
@sdroege do you have some speccific roadmap/idea for these plugins?
Like porting of some of the demuxers / decoders or typefinds or would you accept any "low hanging" plugin implementations that could show off easy pure rust implementattions?

Currently the plan is to move to HTTPS://github.com/sdroege/gstreamer-rs for various internals, extend the API and finish the FLV demuxer (and get rid of the C code there). Then allow filters, and then we'll see what next :)
If you want to write any plugin, feel free to send a PR to add it here or keep it separate if you prefer that. As long as it's useful and not just an example, having it here would be nice.
What were you thinking of writing?

Well I've not give it much thought yet but here are some loose ideas:

still image decoders/encoders based on image crate - basically all supported image formats might be viable
multifile sink/source reimplementation
maybe look into the FLV demux implementation
look into other demuxers / decoders that might be implemented with nom possibly FLAC

I don't have much time on my hands but I might tinker on some of these (or anything other you might suggest).

That all sounds useful. Keep in mind though that most of this will require to first write new integration with the GStreamer base classes (GstVideoDecoder, GstVideoEncoder, GstAudioDecoder, GstAudioEncoder) or extensions/fixups of the existing ones (the demuxer, I'm planning to mostly rewrite that... especially to get rid of the C code).
My next plans are porting to gstreamer-rs, then porting the demuxer to plain Rust. Then I was going to write integration with GstBaseTransform for all kinds of filters, but I could also start with any of the above if that helps you and you don't want to do that yourself.
Instead of writing our own demuxers/decoders/decoders, these should all be a separate crate (like flavors already is), or using an existing crate out there (like the ones from rust-av, or the FLAC and Vorbis crates that exist already). No need to reinvent the wheel unless necessary, and these things would be useful for other people too.

IMHO, having gst-rs integrations for GstVideoDecoder, GstVideoEncoder, GstAudioDecoder, GstAudioEncoder and  GstBaseTransform would be a huge win for people with some rust experience and nearly zero gst knowledge to provide relatively large set of rust elements using available crates. Providing the integrations/fixups will most likely be over my head but I'll at least look into it.

Instead of writing our own demuxers/decoders/decoders, these should all be a separate crate (like flavors already is), or using an existing crate out there

Right. I was thinking of providing gst-rs elements that would just utilize existing crates like image/FLAC/etc and available integrations. Which in comparison would be the easiest and most approachable of the tasks you mentioned.

My plan is to not directly have bindings for those GStreamer classes (well, that will be in gstreamer-rs to some degree), but similar to the existing Source/Sink traits have something more rusty. Something working with enums, not calling into other elements but having functions that do processing and just return a result.
Basically there should not be much GStreamer "weirdness" left in the API needed to implement such things, but still access be provided to do it if really necessary (via gstreamer-rs).
So if you want to work on that, just go ahead and let me know if you need help or want to discuss possible solutions/APIs :)

I added tickets for all these things now

I added tickets for all these things now

Great! Judging from you posts I guess that you have some short mid and long term ideas mapped. Would you be willing to make a loose "brain-dump" on some of the tickets? Even 2-3 sentences pointing to what needs to be done or what can be used as reference would be a great help to potential contributors (Unless actual implementation would be easier than the actual braindump which might be the case for a veteran :).

No, all those things will need everybody more time to implement than to write the short ideas there :) For most things the first step would be to come up with a API design though. I'll add some infos to the tickets tomorrow or later, and also in gstreamer-rs

Added info to all the tickets here, gstreamer-rs not yet.

And also in gstreamer-rs now.

Thanks!


[donationlogging] Auto Donation Adding support

Add a feature where when registering a category, it also asks for a certain channel where donations are usually made, it then uses an on_message listener to see if a message is from that channel, and if it is it uses a number parser (and some regex) to find if a donation amount is specified somewhere in the content. If so, send an embed asking for confirmation to add that amount to the user's dono bal for that category. The confirmation can only be clicked by that guild's dono managers.
Also maybe make the confirmation use buttons?

I've decided against this. I won't be applying this. I might in the future if i feel like it but not now atleast.

Re-opening this cause i just got an idea on how i can achieve this. I would ask users for a channel in setup and in that channel i will use regex to search for number and the words m/million, b/billion etc, if found i will send a confirmation for adding the donation and it will be clickable by managers, if clicked, i will invoke the dono add command. Simple as that.


Is the reconstructed model in real-world scale?

Hi, thank you for sharing this code! I find that this is the only one open sourced project that try to do SfM with the aid of imu, does it just like visult-inertial odometry that reconstruct the scene with real-world scale? Or you just use the gyroscope to predict the rotation of next image?

Thanks for your reply, glad to hear that! Do you estimates the bias of gyro and acce data when solving the sfm problem? It seems that if the time interval between adjecent images is large(for example a few seconds), it is very hard to use the imu info since the bias of imu will break the system.
And can you provide some example data?


still having troubles with Timers and Inputstream.adaptive

@Heckie75,
I know it is not a Timers issue, but still having troubles when timer start.
Today Kodi crashed right when a timer was supposed to start.
See log attached.
Unfortunately kodi forum is down and i don't know where to ask support: any suggestion?
Thanks
Fabio
kodi.log

The last entry in log file is
2023-04-20 19:30:02.797 T:5460  critical : Logic error due to two concurrent busydialogs, this is a known issue. The application will exit.
Probably it is this thread:
https://github.com/xbmc/xbmc/pull/20964
I don't know why there are two busydialogs triggered. Therefore I have no idea how to implement a workaround.

@bttfba  see also hints in #30
Maybe there are two  busydialogs triggered because two things happen in parallel.


BottomNavigationBar styling through ThemeData

Problem:
I'd like to offer many app themes for a user to choose from. Therefore it would be useful to be able to style flutter "elements" independently from others through the Theme widget.
Description
There are 3 things one would want to change in a (fixed) BottomNavigationBar

The background color
the active BottomNavigationBarItem color
the inactive BottomNavigationBarItem color

The current solution is

to change ThemeData.canvasColor
to change BottomNavigationBar.fixedColor or ThemeData.primaryColor
to change ThemeData.textTheme.caption or the widget passed to BottomNavigationBarItem

the problem with 1. and 3. is they could mess up the app
and to change 2. through ThemeData you'd have to change ThemeData.primaryColor and therefore independent styling through ThemeData of the BottomNavigationBar is not possible.
(Similar material styling issue #19623)

I can offer a workaround that might help ...
return new Theme(
   data: customThemeData,
   child: customThemeWidget,
);

you can have any Widgets as the child of a Theme object, they will all be styled according to the custom theme data that you provide independently from the other app widgets.
let me know if this works for you ...

Yes, this workaround works great, but fails at my specific use case.
If you're using your "main" widget inside a new route with a new Theme, every element wrapped inside a Theme will fail to animate to the new theme.
pseudocode:
main.dart
...
MaterialApp(
  theme: themeA,
  child: mainContent(),
)
...

example gif
theme_selection.dart (inside a new route)
...
Theme(
  data: themeB,
  child: mainContent(),
)
...

I'm sure it's possible to solve that by tracking changes through an InheritedWidget, but this is a workaround that should not be needed.
What I mainly want to point out is that the theming is not flexible enough. @HansMuller what do you think?
Even though there are issues with higher priorities, it would be nice to (one day) be able to "theme" the app without having to go through workarounds.

Is possible to fix globally with a ThemeData globally?


Presence of an image "in database" due to failed atmempt at adding a bench hinders/prevents it actually getting added.

I can't find an issue specifically about this so I thought it would be useful to make one as it's mentioned in #295 and #231
As a user who has found that their attempt to add a bench failed somehow, I want to be able to try adding that bench again without that being prevented by a message about how one of the photos "exists in the database".
The error message shown to people says "in database" but the check is whether the photo exists on disk.
https://github.com/openbenches/openbenches.org/blob/3e4cf6413648f1a1841b32a13f4b505fc010dfc2/www/functions.php#L677
https://github.com/openbenches/openbenches.org/blob/3e4cf6413648f1a1841b32a13f4b505fc010dfc2/www/upload.php#L37
I am assuming that a reason for preventing people adding benches using photos that are already on disk is to protect against people forgetting they added a bench and then adding it again. (I haven't been able to think of any other reasons but would be happy to hear about them. :smile: )
Does it matter if the photo is on disk already, so long as it is not associated with any bench? If not, perhaps a better check to do would be, does the photo exist on disk and if so does it's hash appear in the media table along with a benchID and if so does that benchID appear in the benches table. If all those three things are true, then reject the upload with a message about how the photo is already associated with a bench (maybe even say which bench). But if the only one of those checks which is true is the photo exists on disk, then don't fail. (Silently overwrite or discard the photo and use what's already on disk? Shouldn't matter in theory as the result of either should be the same. :shrug:)
I am assuming that no one could be bothered to go to the effort of expending the resources to create a SHA-1 collision with an existing OpenBenches photo. :smile:

Working on this now.
It will look like this:


Telegram client implementation

I wanted to know if it was possible to authenticate to Telegram as a client using this library.
I was looking for something similar to Gram Js and came across this library, but it seems that authentication through API_ID, HASH, and SESSION is not possible.

This is a bot API client library, not a user-bot client library.
You might have luck with running your own bot api server which offers a user mode.


Provide owncloud backend ?

It would be awesome if we could export/import to/from an owncloud server.
Really cool work, by the way :smiley:

+1, are there any updates on this?

+1 would love to see this come true

+1

+1 it would be cool !

IMHO clicking on .md files on the owncloud web ui should open the file in stackedit in a new browser tab. Basically the way google drive and google docs works.
Owncloud notes plugin I believe works this way.

Here is a write up about adding WebDav access to a web app.

You also might want to try to use the owncloud js client which was developed during GSoC 2017: https://github.com/noveens/js-owncloud-client

What about this function in nextcloud with webdav?

Is there still any interest in this?
I've been on a quest for the best markdown editor that pairs with Nextcloud, and kinda disappointed with the options. I was almost at the point of making something myself, when I remembered how much I love StackEdit and its design, and realized it might be easier to create a StackEdit/Nextcloud integration. Also psyched to learn y'all are using Vue these days, which is my bread and butter.
I'm trying to understand the backend challenges. If I'm not mistaken, the main issues seem to be:

CORS: I'm guessing a user's Nextcloud server has to be configured with the appropriate Allow-Controll-Allow-Origin header etc, in addition to using mode: 'cors' or whatever in the client. Anything else I'm missing?
Authentication: This seems pretty straightforward, as Nextcloud uses OAuth2 these days. Just needs to be configured.
WebDAV: I'm totally new to this protocol, but seems like Nextcloud has pretty good support for this type of thing. Any particular challenges that folks are aware of?
Nextcloud app: Since most of the above issues also entail some server configuration, it might be best to have some sort of app in the Nextcloud store for easier setup on each server instance.

Other than that, there would be some strictly client-side work, mainly creating a nextcloudProvider, which would need a getLocationUrl method similar to the gitlabProvider, but all that seems pretty straightforward. A few modals... what else?
I don't have a ton of time to commit to this, but would be happy to make contributions if they'd be accepted, especially if there were others willing to provide some pointers in areas where I'm not super knowledgeable. It'd be slow-going, but I could get the ball rolling and chip away at it over time. Or has someone else already made some headway here?

Looks promising @jgaehring ! Any update on this?

Sadly no, @mberasategi. I'd still love to explore this, but am reluctant to try to go it alone, since a lot of this is new territory for me. Especially the backend Nextcloud-side of stuff, which seems to be where the bulk of the work would be. I'm a frontend Vue dev, so I think I could hit the ground running with the StackEdit-side of things, so long as the maintainers were ok with it, but I haven't heard from them.
I'll keep my hat in the ring if you or anyone else has some experience to loan with the Nextcloud stuff. Unfortunately I just don't have the bandwidth right now to explore a totally new tech stack w/o a little extra support.

Sure, unfortunately I'm no developer so I can't offer any practical help in that respect. Just a heads up as a user that the Nextcloud integration would be highly appreciated. Thanks for your response!

Wouldn't adding general support for WebDAV (with a general WebDAV javascript library) solve access to Owncloud, Nextcloud, Box and just about any other service that use the WebDAV protocol?

Wouldn't adding general support for WebDAV (with a general WebDAV javascript library) solve access to Owncloud, Nextcloud, Box and just about any other service that use the WebDAV protocol?

People might not know that they need this, because general Next(Own)-cloud crowd may not be familiar with niche software like StackEdit and simply not aware that it could be used together. But I believe that a lot of them if not most would jump on boat as soon as word gets out that WebDAV support is implemented and community guides start to appear.

I'm interested in supporting the development myself, but I need some "orientation" by the original developers of stakedit to understand a little better the architecture. I've seen that I should implement a provider, but I've got some doubts.
Anybody from the core team can offer a 1 hour support?


[Bug] Import ts files in static.config.js in React Static typescript template

Reporting a bug?
After creating new React Static app with typescript template i can't import .ts files in static.config.js. The similar situation happens when i change my static.config.js to static.config.ts and i try import .ts file then i got an errror:
=> File changed: /artifacts/react-static-browser-plugins.js
=> Updating build...
Failed to build! Fix any errors and try again!
multi /MY_PROJECT/node_modules/react-dev-utils/webpackHotDevClient.js (webpack)/hot/only-dev-server.js ../lib/bootstrapPlugins.js ../lib/bootstrapTemplates.js /MY_PROJECT/src/index.js
Module not found: Can't resolve '/MY_PROJECT/src/index.js' in '/MY_PROJECT/node_modules/react-static/node_modules'

Environment
Latest version of react-static create with typescript template
Steps to Reproduce the problem
Base your steps off of any freshly installed react-static template!

react-static create
select typescript template
Open static.config.js
Try to import in static.config.js any .ts file
npm start / yarn start -> error

1a. Rename static.config.js to static.config.ts
2.Try to import .ts file -> error
3b. npm start / yarn start -> error
Expected Behavior
I should be able to import .ts files in static.config.js  or build app with static.config.ts
Reproducible Demo
react-static create

hi hubert - this is a known bug right now unfortunately with the recent move to v7.  (https://github.com/nozzle/react-static/pull/1097) i havent had time to dig into it but @tannerlinsley says he's implemented a fix that i dont have time to look into right now..

Hi! @tannerlinsley I'm willing to help :-)
I had done some experiments a while ago, and I'm super excited about using react-static, but I want all my code to be in typescript.

To make this work, we need to come up with a way for the typescript plugin to:

Load require hooks for typescript. Using something like https://github.com/TypeStrong/ts-node.
Change the default entry to src/index.ts, but not override a user-defined entry option.

Those are pretty straight forward on their own, but due to the timing and order that plugins run, it is harder to get it to work from the typescript plugin itself. If that's the case, we may need to just include the hooks by default in the build and simply have the typescript template default to index.ts.
We'll see.

I believe this is not a plugin responsibility. It's a matter of running react-static in a ts environment as you mentioned. It's about how to write your SSG code, leveraging existing libraries, data sources, etc...
So, the good news is: I just tried to launch react-static with ts-node and everything seems to be working fine.
node -r ts-node/register node_modules/.bin/react-static  start

Then, from within static-config.js I am able to import typescript modules straight up.
import getRoutes from './src/routes';

For now, I'm just running the basic example converted to typescript. I will continue down this path and see if/where it breaks ;-)

Load require hooks for typescript. Using something like https://github.com/TypeStrong/ts-node.

Please don't. ts-node is not equivalent to tsc, even though people think it is. It usually lags behind typescript releases. Using babel typescript (stripping types) ís an effort co-worked on by microsoft and could be used here.
The real issue is that the typescript-plugin is only laoded INSIDE this configuration. The real way to fix it, imo, is to add tsconfig.json to the project / load static.config.ts through babel or the likes -- and leave everything else the same.

@SleeplessByte You're right. I started down this path a while ago and it felt right, but got pulled away into other things before I could finish. Easier to reuse existing code paths and just make everything typescript aware the right way.

@SleeplessByte — ts-node only specifies typescript as a peer dependency so it doesn't limit which version of typescript you use (as far as I know). Similarly, I believe it will respect a tsconfig.json file if it's present.

Sure, but that's exactly it's problem. When TS is released, ts-node often accepts using the newer version but has bugs around it.
Anyway, in RS 8 this is all working and supported (for plugins, projects, config, and templates, out of the box).

Fair enough. Sounds good. 👍
Is there a milestone or somewhere where RS 8 is being tracked?

Not yet. I'll make sure it's somewhere once I finished the export command, so that I know who to allocate building the rest / what it would take. It's mostly an internal rewrite, without too many "external"/public API changes.
This is what my static looks like in RS 8:
// static.config.ts

import { AppConfig, RouteConfigList } from '@react-static/types'

const config: AppConfig = {
  data: { global: { my: 'data' } },
  routes: async (): Promise<RouteConfigList>  => {
    const items = [
      { data: 'example', id: 1 },
      { data: 'other', id: 2 },
    ]

    // Creates the /items route, and exposes ALL item data
    // Creates the /items/1 and /items/2 routes, and exposes a single item
    return [
      {
        path: '/items',
        data: { items },
        children: items.map((item) => ({
          path: `/${item.id}`,
          template: 'src/containers/Item',
          data: Promise.resolve(item),
        })),
      },
    ]
  },
  plugins: [
    [
      '@react-static/plugin-source-filesystem',
      {
        location: './src/pages',
      },
    ],
    '@react-static/plugin-reach-router',
    '@react-static/plugin-sitemap',
  ],
}

export default config

It also allows you to use .jsx and .tsx, because some plugins will allow you to pass in React.ComponentType.
We also encourage people to use the TypeScript variant, or at least turn on // @ts-check, because the types correctly accepts for example the following data values for routes:
{
  data: { some: 'object' },
  data: Promise.resolve({ some: 'result of a promise' }),
  data: () => ({ some: 'function that returns an object' }),
  data: async () => ({ some: 'async function that returns an object' })
}

Hey @SleeplessByte , I was wondering where RS 8 was on the roadmap, does it have a release date, or a canary branch we can experiment with?
I've tried using above recommendations to get the config file working in TS but struggled to get something streamline, am wondering whether or not to just wait until v8 or persist :-)

For those still struggling with this:

npm install --save ts-node
Add the following line to the top of your static.config.js file (Note it must remain a js, not ts, file):

require('ts-node').register({
  compilerOptions: {
    module: 'commonjs',
    target: 'es2019',
  }
})

After that line, you can import .tsx? files using require (import doesn't seem to work):

const {getRoutes} = require('./src/route')

I hope that helps!


Build workflow failing on push to ghcr.io: connection reset by peer

🐛 Bug Report
Unable to push images to ghcr.io.  Receiving connection reset by peer
Example workflow run:

https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true

Possibly related issues:

https://github.com/moby/buildkit/issues/2713
https://github.com/docker/buildx/issues/298

To Reproduce
Steps to reproduce the behavior:

Run the Github actions workflow
See connection reset messages

Expected behavior
Images built and pushed to Docker hub and ghcr.io
Any helpful log output
Paste the results here:
#103 [auth] ***/foundryvtt:pull,push token for ghcr.io
[909](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:912)
#103 DONE 0.0s
[910](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:913)

[911](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:914)
#101 exporting to image
[912](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:915)
#101 25.70 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/1d1fa71d-5264-4e97-a918-18373c83fe66?digest=sha256%3Aefe5964ce06296fd14729daf7abc5383ed5276a9d24736cb7eaed0e7aa4aff60": write tcp <IP_ADDRESS>:59548-><IP_ADDRESS>:443: write: broken pipe
[913](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:916)
#101 25.70 retrying in 1s
[914](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:917)
#101 25.76 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/439e1142-1e0a-42c5-8479-70e207393ed7?digest=sha256%3A30f9467ad8c9a19f9f082759b65e34013998ff489dfcf06612ba47d602ba28ff": write tcp <IP_ADDRESS>:59532-><IP_ADDRESS>:443: write: connection reset by peer
[915](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:918)
#101 25.76 retrying in 1s
[916](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:919)
#101 25.81 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/7f1a6cbd-c580-45fc-b9c1-9be7caec501d?digest=sha256%3A9ecf0c5551dae982981fd81e14cd412f65b525710b32e5cd2ed8280637f928d3": write tcp <IP_ADDRESS>:59538-><IP_ADDRESS>:443: write: connection reset by peer
[917](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:920)
#101 25.81 retrying in 1s
[918](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:921)
#101 27.32 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/9d4f187f-6083-4360-af54-9af81cba6e78?digest=sha256%3Aba20838272323971c990b7a7d28b1f4ab54b949373e8ba447c5479fbc89dd58a": write tcp <IP_ADDRESS>:59542-><IP_ADDRESS>:443: use of closed network connection
[919](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:922)
#101 27.32 retrying in 1s
[920](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:923)
#101 pushing layers 6.0s done
[921](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:924)
#101 ERROR: failed commit on ref "layer-sha256:290797507dd35b0abecb3c90c85cd76eb66d08535090d75ea696ae388d565eb1": cannot reuse body, request must be retried
[922](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:925)
------
[923](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:926)
 > exporting to image:
[924](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:927)
#101 25.70 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/1d1fa71d-5264-4e97-a918-18373c83fe66?digest=sha256%3Aefe5964ce06296fd14729daf7abc5383ed5276a9d24736cb7eaed0e7aa4aff60": write tcp <IP_ADDRESS>:59548-><IP_ADDRESS>:443: write: broken pipe
[925](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:928)
#101 25.70 retrying in 1s
[926](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:929)
#101 25.76 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/439e1142-1e0a-42c5-8479-70e207393ed7?digest=sha256%3A30f9467ad8c9a19f9f082759b65e34013998ff489dfcf06612ba47d602ba28ff": write tcp <IP_ADDRESS>:59532-><IP_ADDRESS>:443: write: connection reset by peer
[927](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:930)
#101 25.76 retrying in 1s
[928](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:931)
#101 25.81 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/7f1a6cbd-c580-45fc-b9c1-9be7caec501d?digest=sha256%3A9ecf0c5551dae982981fd81e14cd412f65b525710b32e5cd2ed8280637f928d3": write tcp <IP_ADDRESS>:59538-><IP_ADDRESS>:443: write: connection reset by peer
[929](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:932)
#101 25.81 retrying in 1s
[930](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:933)
#101 27.32 error: failed to copy: failed to do request: Put "https://ghcr.io/v2/***/foundryvtt/blobs/upload/9d4f187f-6083-4360-af54-9af81cba6e78?digest=sha256%3Aba20838272323971c990b7a7d28b1f4ab54b949373e8ba447c5479fbc89dd58a": write tcp <IP_ADDRESS>:59542-><IP_ADDRESS>:443: use of closed network connection
[931](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:934)
#101 27.32 retrying in 1s
[932](https://github.com/felddy/foundryvtt-docker/runs/6623788773?check_suite_focus=true#step:11:935)
------

Separating build from push as recommended here is not supported with builds:
Error: buildx failed with: error: docker exporter does not currently support exporting manifest lists

See: https://github.com/felddy/foundryvtt-docker/runs/6627656522?check_suite_focus=true#step:11:126

Rolling back to the previous version of moby/buildkit as suggested here didn't work either:
      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@dc7b9719a96d48369863986a06765841d7ea23f6
        with:
          buildkitd-flags: --debug
          driver-opts: image=moby/buildkit:v0.10.2

Invalidating the cache had no effect:
       - name: Cache Docker layers
         uses: actions/cache@730dc31003a72af3c3b4bf51268c167ad4c67ad6
         env:
-          BASE_CACHE_KEY: buildx-${{ runner.os }}-
+          BASE_CACHE_KEY: buildx-v2-${{ runner.os }}-
         with:
           path: ${{ env.BUILDX_CACHE_DIR }}
           key: ${{ env.BASE_CACHE_KEY }}${{ github.sha }}

This was a shot in the dark.

Success?!   https://github.com/felddy/foundryvtt-docker/actions/runs/2398099176
Commit 3933811bf596b44c5b006bf52db596cffd21c5c6
Reverting docker/setup-qemu-action from 2 to 1.2.0 has alleviated the network errors.  This change was originally introduced in dependabot PR:

#344

The release notes for setup-qemu mention an Actions Runner version of v2.285.0 is required.  Could there be an interaction with the step-security/harden-runner?

Tested disabling the step-security/harden-runner with docker/setup-qemu-action 2 .  The error to ghcr.io persisted.
https://github.com/felddy/foundryvtt-docker/runs/6630525277?check_suite_focus=true

It seems the reversion has made things "better".  Workflows can now complete sometimes.   e.g., the nightly build succeeded for the first time in a while:
https://github.com/felddy/foundryvtt-docker/actions/runs/2400697558
This workflow still failed after using qemu action 1.2.0:
https://github.com/felddy/foundryvtt-docker/actions/runs/2398737330

I see your builds are passing now - how did you fix?

@tjhiggins It resolved itself after a week or so.  It ended as mysteriously as it had begun.
I opened a ticket with GitHub support regarding the issue.  Their response is copied below:

Hi Mark,
Sorry about the delay in getting back to you!

I am seeing two slightly different behaviors. All builds now fail with cannot reuse body, request must be retried. Some of the builds also have a bunch of write: connection reset by peer to ghcr.io before the final error.

I think this might be related to an outage we had at the end of May. The container registry was under heavy load for a number of days.
Could you try running this workflow again and let me know if your publish job is working?
Regards,
Jamie.


Add color prop to UIcon

Description
Looking at Iconify I see that it supports colors for  but that is not included in . As far as i can tell, it is easy to add the 140 colors in this list, but I am not sure how to add the tailwind configed colors.
I would love to add it myself with some guidance, or pass this onto someone who knows more
Additional context
No response

I now found an issue from last year about this. Will submit a pull request on that solution as i still think having the color prop would be nicer than having to use a class each time

I believe Icons are not plain components that depend on a tailwind palette. They will just take the currentColor to fill the icon's SVG. Basically, any svg whose path's fill property is currentColor will take the color the surrounding text is supposed to have. So if you want to apply the color blue-500, just put class="text-blue-500" on your Icon


Collective Update Content Missing from Email

The Update looks like this online:

But here's what I see in email:

I noticed this because it's still pulling through the preview text, but not displaying that text when you open it.

I've just got another one that had the same problem, for the Tania Collective.

I got another blank update email from Webform - that's making me wonder if it's actually an issue with this specific Collective??
What I see in email:

What I see on the Collective page:

@xdamman are you still looking into this one?

Another Collective is having this issue.
Here's what the update looks like on their page:

And here's what it looks like in my email:

@Betree are you aware of this issue? it's been going on for a while.

The Collective above sent out two updates recently, and they are both coming up blank in the email.

@xdamman was working on this today


Why is gasLimit part of the block data structure, but it's not written to binary?

Moved to https://github.com/Great-Hill-Corporation/quickBlocks/issues/37


Move Hash type and related functions into separate module.

Issue Number
Preparation for ADP-347.
Overview
This PR moves the Hash type and related functions to a separate module Cardano.Wallet.Primitive.Types.Hash. This allows code to use the Hash type without having to incur a dependency on the Primitive.Types module, which is already very large and slow to recompile.
Comments
This PR doesn't re-export the Hash type from Primitive.Types.
Although it would be convenient to be able to import everything from Primitive.Types in one go (with a qualified import), it would also create a compilation bottleneck, since anything that imported Hash from the Primitive.Types module would have to depend on everything required to build Primitive.Types.
This PR follows the advice presented in Keeping Compilation Fast by Matt Parsons.

bors r+

bors r+


Improve component drawer

Problem: Since we have the feature to create custom components from the left side panel, users directly start exploring it before realizing that we have some pre-built components.
We discussed some options to increase visibility of component drawer:

After we do https://github.com/mui/mui-toolpad/issues/1137, we should have it open and pinned in the first session of Toolpad, users can unpin and will know how it works.
Slightly, modest version of 1. would be to just keep the drawer open (without pinning) and close it on 1st hover.
We can completely remove custom components from the left sidebar and put them inside the component drawer. By, default they'll be available for drag-and-drop. We can have a button to bring all of them to the edit mode. Then on clicking any custom component, we will open the edit component UI.
Instead of Component library being a drawer it could be a tab, on the left side panel.

Closing it as we did option 3, and the canvas also says, 'Drop component here.' So, how to work with components in Toolpad Studio seems to be fine.


Post install failed

NPM version (npm -v): 5.5.1
Node version (node -v): v6.11.4
Node Process (node -p process.versions):

{ http_parser: '2.7.0',
  node: '6.11.4',
  v8: '5.1.281.108',
  uv: '1.9.1',
  zlib: '1.2.11',
  ares: '1.13.0',
  icu: '57.1',
  modules: '48',
  openssl: '1.0.2g' }

Node Platform (node -p process.platform): linux
Node architecture (node -p process.arch): x64

When i want install, here is the result, with an infinite execution, the installation processus never ends :

And it's absolutely not a problem with access rights (permissions), indeed, the /usr/local/lib/node_modules/node-sass/vendor/linux-x64-48 directory can't be created cause the /usr/local/lib/node_modules/node-sass/vendor directory never exists in post-install.

It is an access issue from the EACCES message.
Duplicate of #1098

I'm also hitting this. And it cannot be access issue. as I'm running npm install as root

I had to run npm with: npm install --unsafe-perm=true
The problem is with node-sass because it tries to install some files globally!
npm install --unsafe-perm=true

><EMAIL_ADDRESS>install /srv/www/project/site/node_modules/node-sass
> node scripts/install.js

Downloading binary from https://github.com/sass/node-sass/releases/download/v4.7.2/linux-x64-57_binding.node
Download complete..] - :
Binary saved to /srv/www/project/site/node_modules/node-sass/vendor/linux-x64-57/binding.node
Caching binary to /root/.npm/node-sass/4.7.2/linux-x64-57_binding.node

Had the same issue as @mvrhov and his solution worked for me

@nschonni read all the content of issue, please, it's absolutely not an EACCES, and #1098 can't resolve problem !
I said « /usr/local/lib/node_modules/node-sass/vendor/linux-x64-48 directory can't be created cause the /usr/local/lib/node_modules/node-sass/vendor directory », it's cause the vendor directory doesn't exist, the vendor directory is not created. If it can't be created cause an EACCES, so the solution is elsewhere i'm executed command in a root session (no need sudo).
Yes, it's an npm install -g command in a root terminal in a root session, root user has all permissions ! Am i wrong ?. How to have an EACESS problem in a root session, i don't know.
In #1098, @saper said « sudo npm will run our installations scripts as nobody », so i switched to root session by sudo su - but the same problem has always occured. Then i did a chown -R nobody $(npm config get prefix)/{lib/node_modules,bin,share}, but that's failed too.
Following @mvrhov 's advice, i did npm install --unsafe-perm=true -g node-sass and it works. #1098 resolves nothing at all, but @mvrhov resolved the problem.

Fortunately @mvrhov is here and now i can use "@angular/cli".


[BEAM-10777] Add two blog posts detailing changes to the type hints module of the Python SDK

Please add a meaningful description for your change here

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

[x] Choose reviewer(s) and mention them in a comment (R: @username).
[x] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.

GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

R: @udim
R: @robertwb


Feature request: Bug? Update of Dimmer/Color/CT without turning power on

Tasmota SetOption20 1 enables updating Dimmer/Color/CT values without turning the power on
(source: https://tasmota.github.io/docs/Commands/#setoptions)
I have a Tuya LED that defaults to white when sending boolean data to the light DpId, no matter the previous state. Hatasmota sending a command Backlog NoDelay;Power2 ON;NoDelay;HsbColor1 <H>;NoDelay;HsbColor2 <S> results in the color first visibly switching to white and eventually to the new color.
I suggest having hatasmota read the value of option20 and change the command accordingly.

Well, it seems as if I came up with that idea a measly 2,5 yrs after the fact judging from d68ba34b2637a9b24e4996249f3b3feae1bc76ba
Still, I am at a loss as to why setting the option does not work with my setup.
I am running Home Assistant 2023.4.6 which itself is using hatasmota 0.6.4.
The autodiscovered Tasmota device was removed and the HASS docker container and the Tasmota device itself restarted after setting option 20 in the Tasmota console. The POWER2 command is still sent when changing dimmer/color/CT values.

I think this is a bug. I have the problem with the lights on an oil diffuser. Whenever it gets a POWER2 ON command, it sets the rgbmode to cycle. Thus any attempt to set the RGB from HA instantly sets it to cycle mode!
If Tasmota internally has the SetOption20 that controls whether Dimmer/Color/CT setting turns the lights on, I don't see why hatasmota ever needs to send an explicit power on, just let tasmota handle it.

So, additional notes from experimenting:
hatasmota only queries the SetOption20 setting on discovery, so whenever you change SetOption20 in tasmota, you need to remove the device in HA and trigger rediscovery by restarting tasmota in order for the change to be picked up.
When SetOption20 is off (the default, where tasmota will turn on when Dimmer/Color/CT are adjusted):

Changing brightness setting in HA does not add POWER ON to the issued Backlog command.
Changing RGB setting in HA does add POWER ON to the issued Backlog command. It should not.

When SetOption20 is on (tasmota will let you adjust Dimmer/Color/CT without turning on the light):

Changing brightness setting in HA does add POWER ON to the issued Backlog command. It should not.
Changing RGB setting in HA does add POWER ON to the issued Backlog command. It should not.


Updated readme to include invalid Cert files

While trying to use this add-on I noticed that even if the certfile setting is false, if blank /ssl/privkey.pem and /ssl/fullchain.pem files existed, it would not work. I needed to delete these files. I don't necessarily view this as a bug, so I figured adding it to the documentation covers it.

Hi @ecelonghorn,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!


russian tts/asr

https://github.com/snakers4/open_stt
https://github.com/snakers4/open_tts

https://github.com/JRMeyer/open-speech-corpora/commit/f011b959e0ead241597c02f5858bdfd9ea3c0f9a


add timeout to config?

In my scenario the anchors I want to add the v-scroll-to on are also tab headers that make a tab panel appear
right now the scroll-to only works if I click twice and I imagine the reason for this is that on the first click the tab panel isn't yet shown on the page so the scroll-to doesn't know where to scroll (or has nothing to scroll to yet). If I could add just the tiniest delay so it would try to effectuate the scroll say 50ms after the click then I think it would work.
now instead I am forced to add the scroll to programatically in the tab-show function but I would have preferred to add a general timeout on all scroll-to operations. Is this possible?

Hey, this seems like a very edge case, and I would suggest you to add the delay by using it programatically.
Either in the tab-show function like you said, or somewhere that makes the most sense.
this.showTab(...)
setTimeout(() => { this.$scrollTo(...) }, 50)

fair enough.. I did do that already and it's working well. Just thought it could be nice to add it as a default.. maybe not so edge.. but maybe you're right. Every app I develop recently uses such a tab system. I am finding your plugin very useful and functional. Thanks!

I will consider it if it comes up in the future. For now I don't see it as a necessity, therefore I'm closing this issue.
Thanks for the feedback!

Was running into this too: Using  router links, I like to scroll to an element when on the page, like so:
  <router-link to="/#cases"  v-scroll-to="'#cases'">My Cases</router-link>

This works when on the same page, but does not work correctly anymore when coming from different page. Delay could solve but might be more elegant method even... ?

The most elegant way would be to use router hooks / programmatic navigation https://router.vuejs.org/en/essentials/navigation.html
It has an onComplete callback where you can call this.$scrollTo(...).

Thank you, but it seems not solution for anchor tags: onComplete fires after the router already is at the anchor and hence, scrollTo does not make sense.
If scrollTo had an option { delay: 500} (msec)  before starting to work, we could simply target the router to the page and then scroll to the anchor... simple and we could keep our beloved <router-links>

Yes, we could do that and passing all router props to the new component... you are right...
Still... why you feel uneasy to have a delay option? There might be other use cases where it is nice to invoke a scroll not directly but after delay...?

Having to add delay to things feels like an anti-pattern, I'm almost certain that in most of the cases it can be solved by approaching it from a different angle, and for the other  cases where a delay is actually required, I feel like creating a wrapper component in user-land is a much more viable solution, because every use will have it's own requirements, and I can't make everyone happy.

The feeling to keep things nice and clean is important. So, I fully agree with you if you feel its better to keep things clean and leave it out. Was only trying to think a bit with you.
We like the tool very much, thanks !

Thanks for the feedback, if you encounter any issues let me know!

In case it's helpful, here's what I came up with for creating a delay (after a long time futzing with non-solutions).
On the button I am triggering a scroll from:
@click="sleep() .then( () => {$scrollTo(element)})"

In my methods:
sleep: function (ms = 1000) {
    return new Promise(resolve => setTimeout(resolve, ms))
}

In case it's helpful, here's what I came up with for creating a delay (after a long time futzing with non-solutions).
On the button I am triggering a scroll from:
@click="sleep() .then( () => {$scrollTo(element)})"

In my methods:
sleep: function (ms = 1000) {
    return new Promise(resolve => setTimeout(resolve, ms))
}

Thanks, big help.
I should add that you can add the scroll to options as well as the #element to scroll to by adding options as an object.
<button
  @click="sleep(tab).then(() => {
                 $scrollTo('#' + currentTab, { offset: -100 })
                })"
        >View {{ tab }}</button>

and in data
data() {
    return {
      currentTab: ''
    }
  },
methods: {  sleep: function(tab, ms = 350) {
      this.currentTab = tab
      return new Promise(resolve => setTimeout(resolve, ms))
    }
  }

You can see how $scrollTo takes options using $vm0.$scrollTo in the console


Problem Printing to PDF via Chrome

Weapons Table at the end is having problems while trying to print to PDF
Brew code to reproduce : Click to expand
Lionshield Coster

Hanging above the front door of this modest trading post is a sign shaped like a wooden shield with a blue lion painted on it.

This building is owned by the Lionshields, a merchant company based in the city of Yartar, over a hundred miles to the east.
The master of the Phandalin post is a sharp-tongued human woman of thirty-five named Linene Graywind. In a back room, Linene keeps a supply of armor and weapons, all of which are for sale to interested buyers. Linene has a few scruples, however, and won't sell weapons to anyone she thinks might be a threat to the town.

Armor

Name
Cost
Armor Class (AC)
Weight

Light Armor

Leather
10 gp
11
10 lb.

Studded Leather
45 gp
12
13 lb.

Medium Armor

Hide
10 gp
12
12 lb.

Chain shirt
50 gp
13
20 lb.

Scale mail
50 gp
14
45 lb.

Breast plate
400 gp
14
20 lb.

Heavy Armor

Ring mail
30 gp
14
40 lb.

Chain mail
75 gp
16
55 lb.

Splint
200 gp
17
60 lb.

Shield
10 gp
+2
6 lb.

##### Weapons
|Name|Cost|Damage|Weight|Properties|
|:----|:----:|:---:|:---:|:---|
|*Simple Melee Weapons*|||||
|Dagger|1 sp|1d4 piercing|2 lb.|Finesse, light, thrown(range 20/60)|
|Handaxe|5 gp|1d6 slashing|10 lb.|Light, thrown (range 20/60)
|Javelin|5 sp|1d6 piercing|2 lb.|Thrown (range 30/120)
|Light hammer|2 gp|1d4 bludgeoning|2 lb.|Light, thrown (range 20/60)|
|Spear|1 gp|1d6 piercing|3 lb.|Thrown (range 20/60), versatile (1d8)
|*Simple Ranged Weapons*|||||
|Crossbow, light|25 gp|1d8 piercing|5 lb.| Ammunition (range 80/320), loading, two-handed
|Shortbow|25 gp|1d6 piercing|2 lb.|Ammunition (range 80/320), two-handed
|*Martial Melee Weapons*|||||
|Battleaxe|10 gp|1d8 slashing|4 lb.|Versatile (1d10)|
|Longsword|15 gp|1d8 slashing|3 lb.|Versatile (1d10)
|Maul|10 gp|2d6 bludgeoning|10 lb.|Heavy. two-handed|
|Shortsword|10 gp|1d6 piercing|2 lb.| Finesse, light|
|*Martial Ranged Weapons*|||||
|Crossbow, hand|75 gp|1d6 piercing|3 lb.|Ammunition (range 30/120), light, loading|
|Crossbow, heavy|50 gp|1d10 piercing|18 lb.|Ammunition (range 100/400), heavy, loading, two-handed|
|Longbow|50 gp|1d8 piercing|2 lb.|Ammunition (range 150/600), heavy, two handed|

I'm also having a similar issue. I have four tables spread across four pages: a wide class table at the bottom of the page, a wide table at the bottom, a spell list at the bottom, and a wide table at the top. When attempting to print in Chrome, the print preview will have the first three tables all pushed a few hundred pixels down, pushing them off the page so they are mostly unviewable. The last table, the one at the top of the fourth page, is unaffected.
Also of note is that once I see this print preview, when I close this table and go back to the tab that the editor is in, the table on the first page has moved up by 20 or so pixels. To reset this, I have to make any change to the document (and I can undo this change right away) and it will move back to its normal position.
My share link is: http://homebrewery.naturalcrit.com/share/B1LDo6LFl

duplicate of #144

duplicate of #144


Blue underline of unused function moves if you subsequently modify parts of the function.

int unusedFunction() => 10 + 10;
    ~~~~~~~~~~~~~~       // underline

change to this:
int unusedFunction() => 1000 + 1000;
        ~~~~~~~~~~~~~~       // underline

Underline moves the same number of characters added to the function.

This issue was moved to dart-lang/sdk#25504