text:
IS-7067: Keyboard Accessibility Screenshot doesn't represent user's product experience

Summary
The current screenshot that is available at the top of the https://docs.mattermost.com/collaborate/keyboard-accessibility.html page is outdated and doesn't represent the user's current product experience. This PR replaces the outdated image with the current product experience image.
Ticket Link
This PR fixes #7067
Checklist

[x] This PR follows the Mattermost Contributing Guidelines.
[x] The screenshot has been taken on the Mattermost Desktop App that uses the Denim theme.

Hello @Rutam21,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

@cwarnermm Please review and suggest changes, if any. Thanks.

Thanks, @Rutam21. Can the image background be white, rather than grey, using the Denim Theme, to improve image contrast, please?

@cwarnermm Please check and confirm if the current image is okay.

authors: Rutam21 cwarnermm mattermost-build


text:
Update UX for post long press menu

Summary
Updates the UX for the post context menu on long press and takes out the options for copying URL, code and mention to a bottom sheet
Ticket Link
https://mattermost.atlassian.net/browse/MM-12213
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Has UI changes
[x] Includes text changes and localization file updates

Device Information
This PR was tested on: iOS and Android
Screenshots
Bottom Sheet

Menu on a message posted by me

Menu on a message posted by others

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

Build the App failed. See the logs for more information.

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

Build the App failed. See the logs for more information.

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

Android build App: https://releases.mattermost.com/mattermost-mobile-pr/PR-2325/PR-2325.apk
iOS build App: itms-services://?action=download-manifest&url=https://releases.mattermost.com/mattermost-mobile-pr/PR-2325/PR-2325.plist

@esethna I'll take a look at 1 and 2 but 3 you should discuss in UX, I followed the spec and I don't want to change it unless the spec is updated

^ Discussed with AM, we're fine moving it to the bottom since it's a destructive action and consistency with such actions is a good thing. I updated the spec

@esethna adjustments made

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

Android build App: https://releases.mattermost.com/mattermost-mobile-pr/PR-2325/PR-2325.apk
iOS build App: itms-services://?action=download-manifest&url=https://releases.mattermost.com/mattermost-mobile-pr/PR-2325/PR-2325.plist

@enahum ^ the above test build seems to have all the same issues. Wondering if it pulled the updates correctly?

Build Apps for PR label detected. Will generate the app if build succeeds (checks pass and no conflicts with base branch).

@esethna I’m rebuilding this but by using the link in the quality assurance channel is working as expected for me, wondering if the issue was the link in GH? Anyway try that one

Android build App: https://releases.mattermost.com/mattermost-mobile-pr/PR-2325/PR-2325.apk
iOS build App: itms-services://?action=download-manifest&url=https://releases.mattermost.com/mattermost-mobile-pr/PR-2325/PR-2325.plist

@esethna were you able to test this again?

I’ll resolve the conflicts and then merge

source: gharchive/pull-request

authors: enahum esethna mattermod

repo: mattermost/mattermost-mobile

license_type: permissive

license_source: github-api


text:
Mm 32502 guest identification

Summary

Created Guest Experience test cases for RN
Ticket Link
https://mattermost.atlassian.net/browse/MM-32502
Test Case ID: MM-T1397 (1.0)
Test Case ID: MM-T1404 (1.0)

The files .circleci/config.yml, scripts/build.sh, scripts/build.sh, scripts/clean.sh, scripts/clean.sh, scripts/postinstall.sh, scripts/postinstall.sh, scripts/pre-commit.sh, scripts/pre-commit.sh are in the blocklist for external contributors. Hence, these changes are not tested by the CI pipeline active until the build is re-triggered by a core committer or the PR is merged. Please be careful when reviewing it.
/cc @mattermost/core-security @mattermost/core-build-engineers

authors: furqanmlk mattermod


text:
[Gekidou] Group autocomplete!

Summary
I think @larkox had done a lot of work for this already; I've just fixed up to make the correct call to get groups.
Ticket Link
https://mattermost.atlassian.net/browse/MM-43985
Checklist

[ ] Added or updated unit tests (required for all new features)
[x] Has UI changes
[ ] Includes text changes and localization file updates
[ ] Have tested against the 5 core themes to ensure consistency between them.

Device Information
This PR was tested on:
Screenshots
https://user-images.githubusercontent.com/456511/167765379-3e2bb87d-6873-46ea-9e02-b2231f821c30.mp4
Release Note

Updated to merge into Gekidou with schema dependency.

Were the tests existing from the previous work by @larkox or does this need net new tests or test updates?

Right now there are not unit tests for these parts of the code. Sooner or later they have to be added, but that is the main reason they haven't been updated.
Regarding final look, since we didn't have groups properly working at that time, I set up the skeleton, but was not able to do proper testing, so it makes sense there are still issues with the UI. It would be great if @shazm could test that and apply any needed fix in this PR.

Were the tests existing from the previous work by @larkox or does this need net new tests or test updates?
I'm noticing some UI placement issues for the groups icon and the autosuggest loading animations, should we fix in a separate PR?

I'm fixing in this one

Rebased off latest gekidou and updated styling.

ActivityIndicator styles also fixed.

Styles updated for Display name @name

Styles updated for Display name @name

@shazm can you just update the following:

color of the icon so that it matches what we do for @channel and @all autocomplete?
Also, it looks like the @name for the group is smaller. To be consistent with other autocomplete items, we should keep the font size consistent for all, so can you update that so it's the same font size as the display name (still keep the opacity you have through)

Here's what it should look like:

Tidied up -

@enahum - logic has been updated; tested against webapp behaviour.

If there is a channel constraint; we only show groups in that channel and search/filter.
If there is a team constraint; we only show groups in that team and then search/filter.
No constraints? Fetch / search on all groups.

authors: larkox matthewbirtch shazm


text:
Add apps synchronization

Summary
This PR syncs apps on plugin startup.
Have several questions to discuss:

Should we move the AWS app provisioning in admin.ProvisionApp?
Should we support force installs, which is installing a new app automatically, by changing a mappings file in the S3?
Generating an AWS function name: appID-version-function if it is less than 64 bytes, otherwise appID-version-hash. Notice that appID length is limited to 32 bytes, app version length is limited to 10 bytes to accommodate v00.00.000 formatting.

P.S. Yet there is no implementation of the app upgrade/downgrade/delete functionality
Ticket Link
Fixes https://mattermost.atlassian.net/browse/MM-31780

Codecov Report

Merging #46 (91a0764) into master (5e6c942) will decrease coverage by 0.12%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #46      +/-   ##
==========================================
- Coverage   20.90%   20.77%   -0.13%
==========================================
  Files          25       25
  Lines         665      669       +4
==========================================
  Hits          139      139
- Misses        519      523       +4
  Partials        7        7

Impacted Files
Coverage Δ

server/api/app.go
53.33% <0.00%> (-19.40%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5e6c942...8f05ad6. Read the comment docs.

Codecov Report

Merging #46 (91a0764) into master (5e6c942) will decrease coverage by 0.12%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master      #46      +/-   ##
==========================================
- Coverage   20.90%   20.77%   -0.13%
==========================================
  Files          25       25
  Lines         665      669       +4
==========================================
  Hits          139      139
- Misses        519      523       +4
  Partials        7        7

Impacted Files
Coverage Δ

server/api/app.go
53.33% <0.00%> (-19.40%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5e6c942...8f05ad6. Read the comment docs.

@iomodo Heads up that https://github.com/mattermost/mattermost-plugin-apps/pull/57 is merged now.

authors: codecov-io hanzei iomodo

repo: mattermost/mattermost-plugin-apps


text:
Add make help target

This PR adds a make help target similar to the one on the Mattermost server. See https://github.com/mattermost/mattermost-server/blob/master/Makefile#L534.
The current list looks like this:
$ make help
all                            Checks the code style, tests, builds and bundles the plugin.
apply                          Propagates plugin manifest information into the server/ and webapp/ folders as required.
bundle                         Generates a tar bundle of the plugin for install.
check-style                    Runs govet and gofmt against all packages.
clean                          Clean removes all build artifacts.
deploy                         Installs the plugin to a (development) server.
dist                           Builds and bundles the plugin.
gofmt                          Runs gofmt against all packages.
govet                          Runs govet against all packages.
server/.depensure              Ensures the server dependencies are installed.
server                         Builds the server, if it exists, including support for multiple architectures.
test                           Runs any lints and unit tests defined for the server and webapp, if they exist.
webapp/.npminstall             Ensures NPM dependencies are installed without having to run this all the time.
webapp                         Builds the webapp, if it exists.

Nice consistency with the server Makefile. One thing I didn't like on the server changes was the need to put the comment on the same line as the target: this seemed like an artificial implementation detail. Might it be feasible to do something like a grep back a few lines and extract the original comments instead?

As far as I know its not possible to grep for then one line. See https://stackoverflow.com/a/12652676.

Also, server/.depensure and webapp/.npminstall aren't really meant for enduser consumption, since once the file is created, they won't run anyway. Should we omit these?

Sure, will do.

Something like this converts the existing Makefile into the needed format for the strategy above:
cat Makefile | grep -v '\.PHONY' | grep -B1 -E '^[a-zA-Z_.-]+:.*' | grep -v '\-\-' | tac | awk 'NR%2{printf "%s ",$0;next;}1'

outputting:
clean: # clean removes all build artifacts
test: server/.depensure webapp/.npminstall # test runs any lints and unit tests defined for the server and webapp, if they exist
deploy: dist # variables are defined, or copying the files directly to a sibling mattermost-server directory
dist: apply \ # dist builds and bundles the plugin
bundle: # bundle generates a tar bundle of the plugin for install
webapp: webapp/.npminstall # webapp builds the webapp, if it exists
server: server/.depensure # server builds the server, if it exists, including support for multiple architectures
govet:
gofmt:
check-style: server/.depensure webapp/.npminstall gofmt govet
apply: # apply propagates the plugin id into the server/ and webapp/ folders as required.
all: check-style test dist # all, the default target, tests, builds and bundles the plugin.

We'd still need to add comments where needed and keep it to one line's comment. Thoughts? (And we can use awk instead of tac if there's concerns there.)

(Well, not quite: still need to strip out the dependencies. But you get the idea. ;))

Thanks for the help @lieut-data. I updated my code. It now looks like this:
$ make help
all                           Checks the code style, tests, builds and bundles the plugin.
apply                         Propagates plugin manifest information into the server/ and webapp/ folders as required.
bundle                        Generates a tar bundle of the plugin for install.
check-style                   Runs govet and gofmt against all packages.
clean                         Clean removes all build artifacts.
deploy                        Installs the plugin to a (development) server.
dist                          Builds and bundles the plugin.
gofmt                         Runs gofmt against all packages.
govet                         Runs govet against all packages.
server                        Builds the server, if it exists, including support for multiple architectures.
test                          Runs any lints and unit tests defined for the server and webapp, if they exist.
webapp                        Builds the webapp, if it exists.

Just a heads up: I will push the changes to the other plugin repos once they have accumulated.

authors: hanzei lieut-data

repo: mattermost/mattermost-plugin-sample


text:
[MM-34304] Migrate 'components/admin_console/admin_user_card' and associated tests to TypeScript

Summary
This code migrate "components/admin_console/admin_user_card" component to TypeScript.
Ticket Link
Jira card: https://mattermost.atlassian.net/browse/MM-34305
Github issue: https://github.com/mattermost/mattermost-server/issues/17245
Release Note
- Refactor component to typescript, no changes in UI

Hello @arvinDarmawan,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

Thanks again for the PR, @arvinDarmawan!

Closes #17245

authors: arvinDarmawan hmhealey mattermod

repo: mattermost/mattermost-webapp


text:
Add support for Movfuscator compiler

We were teaching some assembly and had some of our students seeing how much can be done with just a Mov instruction. There exists a compiler that can compile C with only mov instructions, and it would be cool to have in compiler explorer. I would be happy to help with a PR if I could get some help on where and how to add a new compiler.
https://github.com/xoreaxeaxeax/movfuscator

Hi! Thanks for the suggestion. We usually don't have the needed time to add new compilers, so thanks for wanting to do the work yourself. What we can sure do is to help as much as we can.
You can read our doc on how to add a new compiler https://github.com/mattgodbolt/compiler-explorer/blob/master/docs/AddingACompiler.md, which should explain most things.
Do not hesitate on asking, and we'll get back to you as soon as possible
:)

source: gharchive/issue

authors: RabsRincon ThadHouse

repo: mattgodbolt/compiler-explorer

license_source: bigquery


text:
do we have any options to specify HTTP method ?

Specifically I want to send a request to API server in POST form. Do we have any option for that.?

Wouldn't it be the same as this?
https://github.com/github/fetch#post-json

authors: dilagurung dotnetter

repo: matthew-andrews/isomorphic-fetch

license: mit


text:
Actually Delete If Apple Account Deletes

https://developer.apple.com/documentation/sign_in_with_apple/revoke_tokens

Added options object to deleteUser to support the Apple invalidate process

We need APPLE_CLIENT_SECRET in order to do token invalidation, we don't have that in GitHub yet

authors: matthewfernst mrrosoff

repo: matthewfernst/Lynx

license: MIT


text:
resume/play functionality

Subject of the issue
new feature request
since web scraping is deals with lot of data , there should be an resume and play functionality.

Can reopen if anyone has interest in taking this on.

authors: lathropd pavankumarkatakam

repo: matthewmueller/x-ray


text:
Create a more visually pleasing format

Hey, good job on the repo. I do have a couple suggestions and I'll start with this one.
I think that the collapsing feature is not a good idea for a couple of reasons.
First, it kinda encourages people to only un-collapse the countries that they want, which in a way undermines the other ones. I think it would be better if every country was just uncollapsed and to make it more visually distinct the flag of the country was also shown. I also think it would be good to add the logo or face of each creator because it makes the page easier to read and some people might recognise faces easier than names.
I've only changed the format for the first 2 countries just to get your thoughts on the format.

Hey Nick, thanks a lot for your feedback!
I agree that it is probably better to have it opened and not collapsable.
About the icons and flags, that seems like a good addition to make it visually more appealing.
Just something I noticed: How could we add the images so that the URLs are shorter and more consistent? Also, so that the image is easy to replace? Maybe in the folder in the repository itself?
I really appreciate those improvements! I will merge the PR when you think it makes sense to do so, already. Just tell me how you would like to proceed here.
Greetings
Matthias

@Elfocrash Hey Nick, I updated the file to include all flags. I am not sure yet about the profile pictures for the creators. Not sure yet if it really adds that much value or if it raises the barrier to adding new entries too much.

Hey @matthiasjost, sorry for not getting back to you earlier on this. Busy weekend.
I think it does make it better. I recognise faces more than logos and some people also use different username for their content (for example ardalis for Steve Smith) so the logo makes it way easier to differentiate.
If awesome-youtubers can do it with way more creators then I think it's a good idea for this repo too. They go as far as to add content type, language, verification status etc, which is not something I think you should add necessarily, but it does invalidate the barrier to entry point.

@Elfocrash Ok. That makes sense! Let us add those icons/logos then. Thanks for your feedback.

@Elfocrash, Just realised would be a lot of work to gather all the images and bring them into a good format. Not sure yet how to do that efficiently.

Created an issue here: #12

@Elfocrash, Just realised would be a lot of work to gather all the images and bring them into a good format. Not sure yet how to do that efficiently.

I suspect it wouldn't be too bad once the layout of the page is sorted. I'm more than happy to help out, digging up various profile images and updating the page with them.

@dracan, I think we would just add another column called an icon, as Nick suggested. Would be awesome if you could help here!

I wonder if this would be neater if the images were files in the Github repository, and the table was using markdown syntax for images, rather than HTML? So then the filename could just match the person's name, and it might look more like this...
| ![](/profilepics/les.png) | Les Jackson | [YouTube](https://www.youtube.com/c/binarythistle) |

Rather than resizing dynamically - a specific height for the file itself could just be a requirement in the PR. It keeps the markdown super-simple.

That's an awesome idea!

Please excuse when I closed the PR too early. I reopened the PR because we continued with the discussion here. I also opened an issue @dracan @Elfocrash
https://github.com/matthiasjost/dotnet-content-creators/issues/12

I was wondering why it had been closed 😆
@Elfocrash - Are you happy with the above suggestion? I'm happy to make a start to get the ball rolling - but I don't want to change your work unless you're happy.

I was wondering why it had been closed 😆
@Elfocrash - Are you happy with the above suggestion? I'm happy to make a start to get the ball rolling - but I don't want to change your work unless you're happy.

I am new to contributing on GitHub and I thought I close it because I started to change the main branch with the suggestions about the flag.
I am looking forward to your feedback @Elfocrash and happy to see you contributing to this @dracan 🙏

authors: Elfocrash dracan matthiasjost

repo: matthiasjost/dotnet-content-creators


text:
Upgrade to Eleventy v3, ESM and Vite v5

I'm helping with maintenance on eleventy-plugin-vite, therefore if tested your template against the current alpha and did some upgrades along the way:

Eleventy v3 alpha
Switched the code to ESM
eleventy-plugin-vite v5 which also uses Vite v5

Not sure if you want to merge this during Eleventy v3 alpha (and eleventy-plugin-vite alpha), but I can try to keep this updated until the releases are majored.
Fixes #15

@KiwiKilian Thanks a lot, Kilian! Merged! ☑😁

authors: KiwiKilian matthiasott

repo: matthiasott/eleventy-plus-vite


text:
Status of rust-ftp

Hi,
I wonder what the current status is given that there are a bunch of PRs being open that fixes some fairly important issues (such as version of openssl) is this crate still being supported or not?

Friendly ping @mattnenterprise

It might be time to fork this project sadly :disappointed:

Problem is that there are several forks already (just looking at the ones on GH) but no "official" fork of it

As there has been some updates after I posted this I think I can close it :)

authors: ThouCheese emoon

repo: mattnenterprise/rust-ftp


text:
New Matcher: .toHaveSomeMembers([members])

Feature Request
.toHaveSomeMembers([members])
Use .toHaveSomeMembers when checking if an Array contains some of the members of a given set.
test('passes when given array values match the members of the set', () => {
  expect([1, 2, 3]).toHaveSomeMembers([2, 1, 3]);
  expect([1, 2, 2]).toHaveSomeMembers([2]);
  expect([1, 2, 2]).not.toHaveSomeMembers([3]);
});

I'm up for trying to implement this!

authors: cactorium mattphillips

repo: mattphillips/jest-extended


text:
Pushshift API updates

PR To incorporate changes to PMAW to reflect changes to PushShift API. Quick fixes
Changes to the api include renaming of after & before params to since & until.
Sort renamed to order.
metadata structure has changes, so made updates to:
Checking for "down" shards
Request size to enable batching of request threads
Will update documentation soon

Hi there,
I took a look at your pull request and noticed some issues with the tests and performance. The test results showed that PushShift API requests timed out, and there were also failures and hanging tests.
It seems that the issues may be related to the PushShift API itself. Do you think that could be the case? If so, it might be helpful to reach out to the PushShift API team to see if they can provide any insights or assistance.
Here are the details of the failing and hanging tests:

33% of test_filter_fn failed.
75% of test_search_comments and test_search_submissions failed after hanging for a few minutes.
test_search_submission_comment_ids and test_response hangs indefinitely.

Hey @eddvrs I'll review the PR today/tomorrow. thanks for the contribution!!

Hi there.
I've been following progress on the PushShift subreddit, and they're undergoing a lot of change all at once- Moving servers to a new data centre, reloading historical data, and at the same time have made some breaking changes to the API itself. At this point- it's difficult to know which of those is causing downstream problems in pmaw.
The API has been a bit flakey since then, additionally there is no data older than 3rd November 2022 available. The unit tests themselves probably also need updating - if they're set up to test on data older than 03/11/2022, then they simply won't work. I did some basic functional testing, but wasn't confident enough to review the unit-tests themselves. I'll take another look this evening.

good to know! I'll update the unit tests before releasing

authors: MatchaOnMuffins eddvrs mattpodolak

repo: mattpodolak/pmaw


text:
Add epoch metrics for mon and osd maps

These epochs are incremented each time a mon/osd joins/leaves the
cluster. Constant epocs are a sign of cluster stability.
The metrics will give a deployer insight into the stability of the
cluster over time.
Also restructured the get_cluster_statistics function and added some
comments.

Changes are mainly shuffling of code, adding epoch metrics LGTM.

LGTM

authors: andymcc hughsaunders mattt416


text:
Evaluate CH vs MLD

The OSRM documentation says that contraction hierarchies may be preferable to multi-level Dijkstra for large distance tables.

CH is like, way faster.


text:
zig build inttest fails due to inability to set expected_exit_code othern than 0 in RunStep.zig

Input
zig build inttest

output
The following command exited with error code 3 (expected 0):
cd /home/misterspoon/dev/git/zig/chepa && /home/misterspoon/dev/git/zig/chepa/zig-out/bin/chepa -outfile /home/misterspoon/dev/git/zig/chepa/zig-cache/tmp/inttest.txt /home/misterspoon/dev/git/zig/chepa/test_folders
error: UnexpectedExitCode

For comparison:
/home/user/dev/git/zig/chepa/zig-out/bin/chepa -outfile /home/user/dev/git/zig/chepa/zig-cache/tmp/inttest.txt /home/user/dev/git/zig/chepa/test_folders/
echo $?

succeds with
3

I did forget that there is no such thing as private fields, only private methods.
Thus setting the field works fine.


text:
Update classifiers.py

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Fixes # (issue)
Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Test A
[x] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] Any dependent changes have been merged and published in downstream modules

REVERIFY

Jenkins job python-classifiers-project/nightly-job ended with SUCCESS. Build: http://sullust.ddns.net:33404/job/python-classifiers-project/job/nightly-job/3/

repo: matuszewski/python-classifiers


text:
🛑 VQ PROD AR is down

In abf490f, VQ PROD AR (http://demoarg.sidesys.com.ar/virtualqueue/index.html) was down:

HTTP code: 0
Response time: 0 ms

Resolved: VQ PROD AR is back up in 0f961c0.

repo: mauribesson/upptime


text:
🛑 VQ PROD GT is down

In 43f15b0, VQ PROD GT (http://demolatam.sidesys.com.ar/VirtualQueue_GT/index.html) was down:

HTTP code: 0
Response time: 0 ms

Resolved: VQ PROD GT is back up in a9d2b65.


text:
Implements fully logic from  HowardvanRooijen plus a few additions to take into account changes to newer Solr releases.

This implements the SolrCoreAdmin class and all associated Commands necessary to perform Core operations within Solr.  There is also a Test class that tests all of the operations exposed by the SolrCoreAdmin class.
Please let me know if you have any other changes you want me to make.
Thanks.

Great work! Merged to the SolrCoreAdmin branch. Pending to do:

Response parsing (only Status currently has response parsing)
Unit testing
Integrate with IoC (we'd have to figure out how to pass the Solr URL, as it's not the same used for queries/updates)

I should be able to add it to the Startup.Init( ISolrConnection connection ) method to handle the IoC integration.
As far as Response Parsing.  Outside of the Status request, the other Commands simply issue a simple response header element.  Is there a specific Response handler that you think we should use, or should we look at a specific one for the CoreAdminHandler.
Thanks.

authors: ahazelwood mausch

repo: mausch/SolrNet


text:
Routing Step 1: Node Class

This is step one of my plans to clean up node handling, routing, UDP, etc in MAVSDK. This PR deprecates the System class in favor of the Node class, which is similar in implementation but designed for connecting to single MAVLink enabled nodes, not entire systems. This allows for more flexibility with more advanced uses of MAVSDK, connecting to multiple systems/components, etc.
Currently a draft, but @julianoes feel free to take a look whenever you want. It successfully detects other MAVLink nodes, but I'm working on integrating the system functions required to make it possible to port the plugins to Node.
I'm still thinking of the cleanest way to maintain backwards compatibility with System, @julianoes @JonasVautherin if you have any ideas let me know!

@JonasVautherin some of the docs for this is in https://docs.google.com/document/d/1UKXxG3Ph_9Nqws4hybiA0PPDo6L2PUYLB7mp_EwvI54/edit#.

Nice document! @coderkalyan: I added comments directly there: https://docs.google.com/document/d/1UKXxG3Ph_9Nqws4hybiA0PPDo6L2PUYLB7mp_EwvI54/edit#. I would be interested in having your opinion.

@coderkalyan I don't know what you checked in but there is 4000 files in the diff now which makes it impossible to review or see what's going on. Please clean up.

+1,216,455 −114

:sweat_smile:

@JonasVautherin No, I don't use a GUI tool for git. However I am very clumsy when it comes to contributing since my git workflow on private projects is usually more relaxed :) It is also possible that my friend @bbworld1 accidently messed something up, I'll take a look at the history!

@coderkalyan let's close this PR and work on smaller iterations in the future, ok?

authors: JonasVautherin coderkalyan julianoes

repo: mavlink/MAVSDK


text:
🛑 Evia Network DApp API is down

In 92e86c2, Evia Network DApp API (https://api.propel.evianetwork.com) was down:

HTTP code: 502
Response time: 297 ms

Resolved: Evia Network DApp API is back up in 01c40e2 after 8 minutes.


text:
Add explanation of different output with fuzzywuzzy

I gave it a go at trying to explain to newcomers why it's different, cobbled together from several explanations across different issues.
@maxbachmann , feel free to edit/clarify/add however you like, thanks! :)

Wow that was fast :)
I think it would make sense to format this in the same way as the failure explanation failure "ImportError: DLL load failed" which is already in the readme.

done!

Thanks. This looks good now.
Would you like to squash the commits, or should I do this when merging?

Squashing when merging is probably easier for me, thanks.

repo: maxbachmann/RapidFuzz


text:
corrected duration parsing

The result of getDuration() was always "1.0" because of a small calculation error. If "samples" is divided by "sampleRate", the result of getDuration () works as expected.

Oh! You’re right! Of course!
Extremely thanks.

authors: maximal netTrekfd

repo: maximal/audio-waveform-php


text:
ci: Upgrade Node.js version to 20.11.0

close #7

I upgraded the deprecated node16 version to the node20 version.
Once the changes are reflected, a new version must be distributed.

Hi @Yaminyam, I've been a bit busy lately and currently don't have the time to actively maintain this project. However, I've granted you write access so you can handle changes and even roll out new releases. Your contributions are much appreciated, and I trust your judgment in managing the project's development. Feel free to dive in with your proposed changes, and don't hesitate to reach out if you have any questions or need assistance.

@maxnowack Hi, Could you please create a new version tag?

@ujuc I have been given permission
I will create a new version after making a few additional modifications.

@ujuc I have been given permission I will create a new version after making a few additional modifications.

@kurly-jhlim @ujuc https://github.com/maxnowack/local-cache/releases/tag/v2
A new version has been released
Please let me know if you have any problems!

@kurly-jhlim @ujuc https://github.com/maxnowack/local-cache/releases/tag/v2 A new version has been released Please let me know if you have any problems!

It works properly for me, without any issues!
thanks!

authors: Yaminyam kurly-jhlim maxnowack ujuc

repo: maxnowack/local-cache


text:
fix: window is undefined

see https://github.com/webpack/webpack/issues/5367

Thanks, release 5.0.1.

authors: mcollina taoqf

repo: maxogden/websocket-stream


text:
memory

review code

closed

repo: maxraulea/maxC


text:
fix(node): node status overridden with stale status

Instead of using a copy of the node to reload, use the node itself with a grpc locked client to
update the nodes when the registry is polling mayastor.
Extra:
To clarity, in the client operations, pass the grpc client down to the update operations to that its
use is explicit rather than implicit. Added a TODO to allow us to use different timeouts for the
list operations without having to reconnect the gRPC client.
Use more getters rather than accessing fields directly

bors try

This is becoming a constant...
PermissionError: [Errno 13] Permission denied: '/tmp/disk2.img'
bors try

repo: mayadata-io/mayastor-control-plane


text:
Fixing #11

commit 75066f4039788aeef2bee0a2730ae6e9bace3cbe
Author: Blazej Kwasniak kwasniakblazej@gmail.com
Date:   Mon Oct 9 20:38:16 2017 +0200
Removing '_future_safe_type' since it looks like

it's not needed anymore

commit bffa7f72f0fb91183b4c2c589263b39a7ab31361
Author: Blazej Kwasniak kwasniakblazej@gmail.com
Date:   Mon Oct 9 20:01:33 2017 +0200
Removed by 2to3

https://docs.python.org/2/library/2to3.html#2to3fixer-future

commit 56169aafa99c6b5a07a367b2fde5f744f070d48e
Author: Blazej Kwasniak kwasniakblazej@gmail.com
Date:   Mon Oct 9 19:56:37 2017 +0200
Removig all 'from builtins import str'

Looks like there is no need to use this both in 2.7 and 3.6.
It works just fine in our case and unit test are happy as well.
Keeping this would require some spaghetti code to keep
compatibility to avoid isses like:

"<class 'packerlicious.builder.AmazonSourceAmiFilter'>: None.owners is
<type 'str'>, expected [<class 'future.types.newstr.newstr'>]"

commit d81d5be16e5c2a3f5901f79d8c465223fcdfd04d
Author: Blazej Kwasniak kwasniakblazej@gmail.com
Date:   Mon Oct 9 19:47:01 2017 +0200
There is no need to use lambda.

This code has been changed by 2to3 tool and works both
with python2.7 and 3.+, so I decied to leave it.

commit e4dff0988e9c9d62b20be00a533faeb94e1570dc
Author: Blazej Kwasniak kwasniakblazej@gmail.com
Date:   Mon Oct 9 19:37:57 2017 +0200
Wrapping up with 'list()' as it was explained in

http://python3porting.com/differences.html#dictionary-methods

commit ab2ef1cd16a5ee43a22f757010925dd4bb2e8704
Author: Blazej Kwasniak kwasniakblazej@gmail.com
Date:   Mon Oct 9 19:36:03 2017 +0200
Moving 'basestring' to 'str'

commit e4abc793d953cda8efaa998fccfca218b5d85553
Author: Matthew Aynalem mayn@users.noreply.github.com
Date:   Sat Oct 7 07:53:57 2017 -0700
wip python3 compatibility via futures

Coverage increased (+0.1%) to 81.582% when pulling 2859d70da49c7f8b3c7b1e05a2e4252dc834bde7 on blazejkw:master into c8399fae95e0a3aa97774895cefe3b7444dba8bd on mayn:master.

Coverage increased (+0.1%) to 81.582% when pulling 14c987883470ed18c439921f18e7dbcc4c774929 on blazejkw:master into c8399fae95e0a3aa97774895cefe3b7444dba8bd on mayn:master.

After some small debug looks like this line fails:
https://github.com/pytest-dev/pytest/blob/master/_pytest/python.py#L336
There are some tests in 'test_examples.py' which has some wrong format and can't be sorted.
336  	        try: 337  	            l.sort(key=lambda item: item.reportinfo()[:2]) 338  	        except TypeError as e: 339  	            import pdb;pdb.set_trace() 340  ->	            pass 341  	        return l 342  	 343  	    def makeitem(self, name, obj): 344  	        # assert self.ihook.fspath == self.fspath, self 345  	        return self.ihook.pytest_pycollect_makeitem( (Pdb) pp l[0].reportinfo()[:2] (local('/tmp/packerlicious/tests/packerlicious/test_examples.py'), 18) (Pdb) pp l[1].reportinfo()[:2] '<u'
Are You ok with just removing "tests/packerlicious/test_examples.py" ?

Coverage increased (+0.1%) to 81.582% when pulling 8065f05c3b91a0aa8f869d3a44bd7c243a094309 on blazejkw:master into c8399fae95e0a3aa97774895cefe3b7444dba8bd on mayn:master.

Hi @mayn,
https://docs.python.org/2.7/library/unittest.html#skipping-tests-and-expected-failures
what do You think just to removing the whole tests_examples ?
Regards,
blazejkw

@blazejkw thanks for this effort.
trying to debug it also...can you try removing the skip from your last commit and changing to (str(self.suite), ) on this line https://github.com/mayn/packerlicious/blob/master/tests/conftest.py#L29
(I didn't want to push to your branch)
tests_examples is suppose to dynamically load the examples folder as tests and compare it to the json in example_output. I assume its original intention was to ensure the examples never went out of date and also leverage them as test cases.
Came from the troposphere side of things (https://github.com/cloudtools/troposphere/blob/master/tests/test_examples.py)
It looks like this silently stopped running correctly, not sure why/when, it is all very magical (debugging it). I had it working under pytest previously...
You can confirm that is broken by either changing the example or matching output in example_output, there is no test failure.

Coverage increased (+0.1%) to 81.582% when pulling 91ad9d0567b47e52e06a9a48db2fe18de2768100 on blazejkw:master into c8399fae95e0a3aa97774895cefe3b7444dba8bd on mayn:master.

authors: blazejkw coveralls mayn

repo: mayn/packerlicious


text:
Problems with canvas width and height

Hi,
I have been trying to copy another canvas into the canvas in the draw component.
The source canvas was 640 x 640 and the width and height set on the material properties of the draw component where the same. I was applying it to a square plane and expected the plane to represent the canvas exactly but i discovered the it was clipped. After outputting the values of e.detail.ctx width and height I discovered that they are always 512x512 so I even tried setting all properties on the source canvas and the material properties to 512x512 but the result was still clipped.
I am using
e.detail.ctx.drawImage(sourceCanvas, 0, 0);
to copy the canvas

hi @mrLoganite, the canvas size will automatically convert any size nearest power of two (since the texture size is expected to be a power of two). if you want to use your canvas as 640, try e.detail.ctx.drawImage(sourceCanvas, 0, 0, 640, 640, 0,0,e.detail.ctx.canvas.width,e.detail.ctx.canvas.height);

Worked like a charm!

authors: mayognaise mrLoganite

repo: mayognaise/aframe-draw-shader


text:
Add Drag and Drop Support for Links (Main List)

Please add drag and drop support for links (like in ariaNG native).
Specifically I mean for the main window list, not the "+ New" section.

No. AriaNg would not support this. If you want to use drag-and-drop file/link, please use AriaNg Native.

repo: mayswind/AriaNg


text:
Basic project structure setup

[ ] External dependencies

[ ] Boost
[X] Googletest
[X] Abseil
[X] LibFMT
[X] PyBind11

[ ] Unit tests
[ ] CMake

[ ] CMakePresets.json

[ ] Documentation generation
[ ] Code Style/Guidelines

[ ] Clang Format
[ ] Clang Tidy

@nicklafarge We can start setting up the project structure here. I'll need help with some of the python stuff, so if you want to branch of and merge into this branch to work on that, we can.

Should we include Python unit testing infrastructure as a part of this structure? @noahsadaka @rjpower4 @DhruvJ22

Looking good so far!
I'm not sure if we'll need an __init__.py in the pyforest directory since I'm not sure if there will be any python files there, or just the pybind11 C++ files

I think this comes back to the user installation story for the python library. In my mind, and this may be wrong, we need to ship an installable egg or whatever python uses. Furthermore, we should allow if required in the future to ship some python code along with it and not presuppose that we are only shipping a shared object. Again, I am out of my comfort zone here, so am open to feedback @nicklafarge @DhruvJ22 @noahsadaka

As for the user story, it looks like pybind11 has this handy build systems page and an associated example project that I think we can use some elements from in eventually setting up the installation process and setup.py.  Maybe we can use the PEP 518 version of this as a starting point (requires pip 10+).
If we want to plan for the potential of having additional functionality  written in directly in python, we'll have to take some extra steps to import the c++ functionality into that python module we are creating to avoid a from pyforest import pyforest situation. So that linked post above suggests creating _pyforest.so where the __init__.py file includes from _pyforest import *, but I guess that can break down for submodules given some of the comments.
If we do want to go down that path right out of the gate, maybe we can do a setup like this project? Or we could just leave it to C++ for now, and add that functionality later if/when we need it. What do you think @noahsadaka @DhruvJ22 ?

I support the second option to reduce the current complexity of the code. I don't think it will be a huge challenge to refactor the code in the future to add the capability when needed.

repo: mbd-astro/forest


text:
v4.1.4 Datafile is not a LiteDB database.

Dear mbdavid,
I'm digging these issues below.
I can't still reproduce them, but many users keep reporting these issues to our error reporting system.
It is UWP project and uses 4.1.4 version. You may have some hints to solve them.
Thx.
Message

Datafile is not a LiteDB database.

Delete Collection

at LiteDB.HeaderPage.ReadContent(ByteReader reader)
at LiteDB.BasePage.ReadPage(Byte[] buffer)
at T LiteDB.PageService.GetPageT + 0x79
at LiteDB.CollectionService.Get(String name)
at LiteDB.LiteEngine.GetCollectionPage(String name, Boolean addIfNotExits)
at LiteDB.LiteEngine.d__19.MoveNext()
at Boolean System.Linq.Enumerable+WhereEnumerableIterator`1.MoveNext() + 0x68
at LiteDB.LiteEngine.Shrink(String password, IDiskService tempDisk)
at LiteDB.LiteDatabase.Shrink(String password)
at Boolean DesignMe.LocalStorage.InitializeCollectionT + 0x365

Upsert

at LiteDB.HeaderPage.ReadContent(ByteReader) + 0x1b0
at LiteDB.BasePage.ReadPage(Byte[]) + 0x8a
at LiteDB.PageService.GetPageT + 0x79
at LiteDB.CollectionService.Get(String) + 0x6c
at LiteDB.LiteEngine.GetCollectionPage(String, Boolean) + 0x25
at LiteDB.LiteEngine.Transaction[T](String, Boolean, Func2) + 0xe3    at LiteDB.LiteEngine.Upsert(String, IEnumerable1, BsonType) + 0xa8
at LiteDB.LiteCollection1.Upsert(IEnumerable1) + 0x46
at DesignMe.LocalStorage.Upsert[T](List`1, String) + 0x461

Find

at LiteDB.HeaderPage.ReadContent(ByteReader) + 0x1b0
at LiteDB.BasePage.ReadPage(Byte[]) + 0x8a
at LiteDB.PageService.GetPageT + 0x79
at LiteDB.CollectionService.Get(String) + 0x6c
at LiteDB.LiteEngine.GetCollectionPage(String, Boolean) + 0x25
at LiteDB.LiteEngine.d__9.MoveNext() + 0x176
at LiteDB.LiteEngine.d__13.MoveNext() + 0xf8
at LiteDB.LiteCollection1.<Find>d__17.MoveNext() + 0x144    at LiteDB.LiteQueryable1.d__21.MoveNext() + 0xfa
at System.Collections.Generic.List1.AddEnumerable(IEnumerable1) + 0x77
at System.Linq.Enumerable.ToListTSource + 0x122
at DesignMe.LocalStorage.GetAllT + 0x5f
at DesignMe.LocalStorageExtentions.LoadFromLocal(Dictionary`2) + 0x3a

I am currently dealing with this issue as well.  When a power loss occurs the db file often becomes corrupted.

Facing this issue as well.
We are using encryption, no concurrency, about 50k rows (but inserting only one by one in small operations). We use only inserts.
This happens when application using the DB crashes, it sometimes corrupts the DB.

authors: Pokis lunelake rcurtis

repo: mbdavid/LiteDB


text:
[BUG] Dictionaries in entity models are serialized incorrectly, causing InvalidCastException on deserialization

Version
LiteDB: 5.0.7
Microsoft.AspNetCore.App: 2.1.1
Microsoft.NETCore.App: 2.1
Describe the bug
Dictionaries always seem to be serialized as Dictionary<string, object>.
Dictionaries with generic types <Object1, Object2> are converted to <string, Object2> via Object1.ToString
When deserializing from database, InvalidCastException is thrown when converting from string to Object1.
Code to Reproduce
A test entity model
namespace DictionaryTest.Models.Database
{
    public class DictTestClass
    {
        public int ID { get; set; }
        public Dictionary<Object1, Object2> ValidObject2ForObject1 { get; set; }
    }

    public class Object1
    {
        public int someProp1 { get; set; }
        public string someProp2 { get; set; }
    }

    public class Object2
    {
        public int someProp3 { get; set; }
        public string someProp4 { get; set; }
    }
}

Below is the test case
            Dictionary<Object1, Object2> testDict = new Dictionary<Object1, Object2>();

            Object1 object1 = new Object1();
            object1.someProp1 = 4;
            object1.someProp2 = "object1key";
            Object2 object2 = new Object2();
            object2.someProp3 = 8;
            object2.someProp4 = "object1value";

            testDict.Add(object1, object2);

            DictTestClass testDictTestClass = new DictTestClass();
            testDictTestClass.ID = 1;
            testDictTestClass.ValidObject2ForObject1 = testDict;

            dictTestRepo.updateOrAddDictTest(testDictTestClass);

The serialized object in the database
{
  "_id": 1,
  "ValidObject2ForObject1":
  {
    "DictionaryTest.Models.Database.Object1":
    {
      "someProp3": 8,
      "someProp4": "object1value"
    }
  }
}

NOTE: The key is serialized using the default ToString method for the object. If ToString is overridden, that is used instead.
Expected behavior
The dictionary should not be forcefully converted to a Dictionary<String, Object2>, and instead should have the keys be properly serialized.
Screenshots/Stacktrace
System.InvalidCastException: Invalid cast from 'System.String' to 'DictionaryTest.Models.Database.Object1
   at System.Convert.DefaultToType(IConvertible value, Type targetType, IFormatProvider provider)
   at LiteDB.BsonMapper.DeserializeDictionary(Type K, Type T, IDictionary dict, BsonDocument value)
   at LiteDB.BsonMapper.Deserialize(Type type, BsonValue value)
   at LiteDB.BsonMapper.DeserializeObject(EntityMapper entity, Object obj, BsonDocument value)
   at LiteDB.BsonMapper.Deserialize(Type type, BsonValue value)
   at LiteDB.LiteQueryable`1.<ToEnumerable>b__27_2(BsonDocument x)
   at System.Linq.Enumerable.SelectEnumerableIterator`2.MoveNext()
   at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Boolean& found)
   at System.Linq.Enumerable.FirstOrDefault[TSource](IEnumerable`1 source)

Additional context
Looking at the LiteDB source,
BsonMapper.Serialize:
        private BsonDocument SerializeDictionary(Type type, IDictionary dict, int depth)
        {
            var o = new BsonDocument();

            foreach (var key in dict.Keys)
            {
                var value = dict[key];
                var skey = key.ToString();

                if (key is DateTime dateKey)
                {
                    skey = dateKey.ToString("o");
                }

                o[skey] = this.Serialize(type, value, depth);
            }

            return o;
        }

You can see the key's being forcefully serialized to string.

@bennettn404 The LiteDB documentation states that "For IDictionary<K, T>, K key must be String or a simple type (convertible using Convert.ToString(..))". So this is technically not an issue, but a documented limitation.
We may consider ways to improve this part of our serialization, however I'm not sure what could be done (if you have any ideas, please let us know).


text:
Readonly connection is not respected - v3.0.0-beta

It appears to be possible open a database in readonly mode and then modify it.
First off, I'm not clear from the documentation what the "readonly" keyname is. So if I've got this wrong, let me know. The document states:
ReadOnly (bool): Open database with only support to query (defult: false)
However, I cannot find the string literal "ReadOnly" anywhere in the LiteDB source. Instead, I find this in ConnectionString.cs :
this.ReadOnly = GetValue(values, "read only", true);
So is it "ReadOnly" or "read only"?
In any case, I run tests where I open the database with both variations as follows:
filename=E:\TRAL-2.0\SOURCE\TictocDB.NUnitTests\bin\Debug\data/dir1\dir2\readtest.0.ldb;read only=true
filename=E:\TRAL-2.0\SOURCE\TictocDB.NUnitTests\bin\Debug\data/dir1\dir2\readtest.0.ldb;ReadOnly=true
Both connection strings appear to open the database.
In both cases, however, it is possible to update an existing document in the collection with a call to Update().
When the database is closed and later re-opened, I confirm the document has been modified.

After checking the LiteDB source futher, "read only" appears to be the correct name. Although it is case insensitive, there should be a space (correct me if I'm wrong). In any case, it doesn't work.

Yes, should be "read only" with space. But I will change this to Mode: Shared, Exclusive or ReadOnly values,

authors: kuiperzone mbdavid


text:
Add _GO_USE_MODULES for optional modules

The next pull request will add the modules built-in to help discover, document, and inspect installed and imported modules. The pull request following that will add the log module containing standard logging functions.

Coverage increased (+0.06%) to 95.965% when pulling a5973afcb7e029e67384bf18cf45f6e6f8fdb3d0 on use-modules into 2d5cb96adfc6ee249cbe89a2e81d95ca2ce4d146 on master.

authors: coveralls mbland

repo: mbland/go-script-bash

license: ISC


text:
Use none instead of false query

None allows the use a null object pattern, this prevent doing further queries to the database knowing they'll always return false
Originally
posts = Post.tagged_with.recent

Would still generate queries to the database
with this change Rails would always return a chainable NullObject that avoids doing further queries tothe database

@seuros updated 👍

repo: mbleigh/acts-as-taggable-on


text:
Support for filename input

Would be great to just pass in a file name as input without having to use input redirection.

The problem is then you have to disambiguate between the expression and the filename, both of which are optional. So you probably need to use -- to disambiguate the filename, and I’m not sure commander supports that (with zero effort on my part…).

It turns out Commander does support this, and I think it's quite useful.  See #28.

authors: ItsNickBarry maxharlow mbostock

repo: mbostock/ndjson-cli


text:
Add link to doc page as HTML

The domain of the previous project site seems to no longer be registered (or in control of the project maintainers). I added a link to the documentation from the GitHub Pages source rendered as HTML by the online tool GitHub & BitBucket HTML Preview.
Unless the previous project site domain will be re-registered (or wrested back into control by the project maintainers), the reference to it should probably be removed entirely.

@mccalltd I replaced the link to the previous project site with the HTML Preview version.
And thanks for the project – it still works great!

Thanks!

authors: kenny-evitt mccalltd

repo: mccalltd/AttributeRouting


text:
🛑 ChatGenie Client API is down

In 93fb8f3, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 6031a77.


text:
🛑 ChatGenie Client API is down

In 9e5810b, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in a2ea40e.


text:
🛑 ChatGenie Client API is down

In be0f3b4, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in d49e626.


text:
🛑 ChatGenie Client API is down

In ff31983, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 6c12bff.


text:
🛑 ChatGenie Client API is down

In accf358, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 7f92e6f.


text:
🛑 ChatGenie Client API is down

In f68d924, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in a8e9aaa after 28 minutes.


text:
🛑 ChatGenie Client API is down

In 1087101, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 3c99ea2 after 24 minutes.


text:
🛑 ChatGenie Client API is down

In 28132a3, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in c8f15e3.


text:
🛑 ChatGenie Client API is down

In 5250c0d, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 25ddda4 after 20 minutes.


text:
🛑 ChatGenie Client API is down

In 1d30a9f, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in a44d15a after 10 minutes.


text:
🛑 ChatGenie Client API is down

In 76df5ed, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 33682b4 after 11 minutes.


text:
🛑 ChatGenie Client API is down

In 9a9ea06, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 6f00c24 after 35 minutes.


text:
🛑 ChatGenie Client API is down

In f890824, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 0af2409 after 40 minutes.


text:
🛑 ChatGenie Client API is down

In c13e558, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in e988082.


text:
🛑 ChatGenie Client API is down

In 6aa4f5c, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 3fb377b.


text:
🛑 ChatGenie Client API is down

In 4cd8fed, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in f910d44.


text:
🛑 ChatGenie Client API is down

In 045ad37, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in bca2a13.


text:
🛑 ChatGenie Client API is down

In e106508, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 4c64895.


text:
🛑 ChatGenie Client API is down

In ff48616, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in 1505ae0.


text:
🛑 ChatGenie Client API is down

In ca3603e, ChatGenie Client API ($CHATGENIE_CLIENT_API) was down:

HTTP code: 0
Response time: 0 ms

Resolved: ChatGenie Client API is back up in aee12d6.


text:
Use short yet different names for the various layers of the neuron interface

This code is to interface Matlab with Neuron (the simulation environment). There are several layers between the user and the results: the main matlab namespace, the main matlab class, a c-source interface dll, and finally the simulation environment.
How to avoid using 'neuron' for all of these? What would be better names, so they are distinguishable?

The main namespace could be nrn?
The main matlab class will be within the namespace, so it's proper name will never be just neuron, but e.g. nrn.Neuron, so no need to change?
The c-source interface dll name should, in general, not come up for the user. So its name does not have to be too nice, use neuronwrapper?

I was just trying out the interface for the first time.
My initial instincts is the neuron name is perfect for the namespace. I wonder then if the main object would be better called Session instead of Neuron?
Having a neuron.Session seems more intuitive than a neuron.Neuron.

repo: mcdougallab/matlabneuroninterface


text:
🛑 GitHub Mirror is down

In 531ebc8, GitHub Mirror (https://gh.chapro.xyz) was down:

HTTP code: 500
Response time: 199 ms

Resolved: GitHub Mirror is back up in 29cabff after 5 minutes.

repo: mchaNetwork/status


text:
LabelOnRightAttribute usage

I tried adding new FormFactory.Attributes.LabelOnRightAttribute() to the GetCustomAttributes field list (in declarative programmable model example) for a checkbox. It rendered the following:
"if (Model.GetCustomAttributes().OfType ().Any()) {  } else //if not required, then it is possible to post a false value, which means we need a hidden field as unchecked checkboxes aren't posted. sigh. {   } Checkbox label here"
This wasn't quite what I expected. Is there a correct way to get the label for a checkbox to render to the right of the box? A checkbox works great with the default label on the left.

Thanks for trying out. It seems to be rendering the raw template instead of
rendering it properly. There may be a missing @ somewhere.
Could you fork the project and add your code to the examples and I will
take a look ASAP?
On Sat, 4 Feb 2017 at 05:09, Budsy notifications@github.com wrote:

I tried adding new FormFactory.Attributes.LabelOnRightAttribute() to the
GetCustomAttributes field list (in declarative programmable model example)
for a checkbox. It rendered the following:
"if (Model.GetCustomAttributes().OfType ().Any()) { } else //if not
required, then it is possible to post a false value, which means we need a
hidden field as unchecked checkboxes aren't posted. sigh. { } Checkbox
label here"
This wasn't quite what I expected. Is there a correct way to get the label
for a checkbox to render to the right of the box? A checkbox works great
with the default label on the left.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mcintyre321/FormFactory/issues/37, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAQ0-mK2WRvdwSVUR7tlec7eLDv_E4XMks5rZAgegaJpZM4L3C0m
.

I put my code into the Mvc Examples Index demo page on a fork. Currently I'm going to try to compile your source and track this down. ...have to upgrade my VS first. ;-)

I found the bug and made a fix in FormFactory/Views/Shared/FormFactory/Property.System.Boolean.cshtml . It was, as you surmised, missing the @ on the if keyword, needed after the  html  tag line in the View markup file. I compiled the Dll with this change and am using it in my project now. Works like a charm.

thanks for the PR!


text:
unsubscribe on component destruction no longer works under Vue 2.x

Describe the bug
When the lifecycle hooks were modified for Vue 3.x, channels are no longer unsubscribed on component destruction.
To Reproduce
Steps to reproduce the behaviour:

Install under Vue 2.x with debugging fully on
Add a channel to a component that gets created and destroyed
Create component
Destroy component

Expected behaviour
The channel should get unsubscribed when the component is destroyed.
Plugin version 2.4.1

@elDub Fixing this now.

@elDub Fixed. Kindly update to v2.4.2

authors: elDub mclintprojects

repo: mclintprojects/actioncable-vue


text:
Replaced batch operations in updateWithBrokerData

Batch operations in updateWithBrokerData causes problems when emptyQueue is called. It pumps inconsistent data causing the error mentioned in issue #14. To overcome this issue, batch operations are replaced by normal get and put database operations.

can you add a unit test to reproduce?
Il giorno dom 4 mar 2018 alle 15:02 v-divya110 notifications@github.com
ha scritto:

Batch operations in updateWithBrokerData causes problems when emptyQueue
is called. It pumps inconsistent data causing the error mentioned in issue
#14 https://github.com/mcollina/aedes-persistence-level/issues/14. To
overcome this issue, batch operations are replaced by normal get and put
database operations.
You can view, comment on, or merge this pull request online at:
https://github.com/mcollina/aedes-persistence-level/pull/15
Commit Summary

Replaced batch operations in updateWithBrokerData to normal put
operations

File Changes

M persistence.js
https://github.com/mcollina/aedes-persistence-level/pull/15/files#diff-0
(17)

Patch Links:

https://github.com/mcollina/aedes-persistence-level/pull/15.patch
https://github.com/mcollina/aedes-persistence-level/pull/15.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/mcollina/aedes-persistence-level/pull/15, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADL43_llfanlHsIiUPHsRfHDBV6VDFoks5ta_PmgaJpZM4SbV2o
.

reproduce the issue? or to check if this works?

Yes, to see if this works

done

repo: mcollina/aedes-persistence-level


text:
organization

We should probably do a fastify organization :)

Yeah! Love the idea :)
Which other repos we should include?
Probably
https://github.com/delvedor/fastify-cli
https://github.com/mcollina/fast-json-stringify
And we need a logo 😄

authors: delvedor mcollina

repo: mcollina/fastify


text:
Error while doing npm i

Unhandled rejection Error: Integrity check failed:er-api-error: sill pacote trying angular-bootstrap-md@file:angular-bootstrap-md-6.2.2.tgz by hash: sha512-H7vhYx+HqIC7KPp06buCZAm6snUV6sCJwM3oLV
Wanted: sha512-H7vhYx+HqIC7KPp06buCZAm6snUV6sCJwM3oLV7BPlPyl5yQGJd6DHk7Vt4qyzUOEvCUsWXRtYA38basbX/Qtg==
Found: sha512-mmXdle2qlSUn0fFL0hF98Ou9s+UkbFK2ggdPWW9/ErbwzzGQOKQxnet5OQTQpM5So6AQqn/w5Y0DsRl2E/O2iw==

Dear ancgate,
Sorry for so long response time. Remove package-lock.json file and try one more time - now it should work fine.
Best Regards,
Damian


text:
Can i use in tw-elements in reactjs?

import React, { useEffect } from "react";
// import "tw-elements";

const Stepper = () => {
  useEffect(() => {
    const use = async () => {
      await import("tw-elements");
    };
    use();
  }, []);

  return (
    <>

             1
             step1

            Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do
            eiusmod tempor incididunt ut labore et dolore magna aliqua.

             2
             step2

            Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris
            nisi ut aliquip ex ea commodo consequat.

             3
             step3

            Duis aute irure dolor in reprehenderit in voluptate velit esse
            cillum dolore eu fugiat nulla pariatur.

    </>
  );
};

tailwind.config.js
module.exports = {
  content: [
    "./src/**/*.{js,jsx,ts,tsx}",
    "./node_modules/tw-elements/dist/js/**/*.js",
  ],
  theme: {
    extend: {},
  },
  plugins: [require("tw-elements/dist/plugin")],
};

The code above is what i write to stepper. It work sometime, but sometime it doesn't . stepper-content is never hided or never showed.  Am i did something wrong? Thank you

The features relying on JS like this probably wont work well with React. I had similar issues using the ripple effect.

Hi, we just have released a new breakthrough version of Tailwind Elements and I checked your code - everything works fine. If you have another questions or problems reach us at discusson page or create new ticket.

authors: Trochonovitz mcapodici turnede0

repo: mdbootstrap/Tailwind-Elements


text:
Port Forwarding

Hi!
I guess this is more a general question instead of a specific issue. I found your little project through reddit and it sounds awesome, thank you!
I was walking through your tutorial and I got some headache after I read that step:
Forward whichever port your ESP8266 web server is running on so that it can be accessed from outside your local network, this is critical since Alexa commands come from Amazon's servers, not locally
Is that a normal behaviour you need to do for each smart home device with Alexa? I've already got some Sonoff devices with Tasmota, do I need to publish them to the WWW aswell to be available for Alexa?
If I really need to do that I will return my Echo's as soon as they arrive tomorrow. I am not going to publish everything to web.
Thank you! :)
Sebastian

Not every device needs to be published to the web, commercial devices with push notifications or devices than run using MQTT and an intermediate broker do not usually need an open port but those solutions weren’t feasible with this DIY project.
There are security measures in place since this project does require an open port - see the readme for more information.
You can also use services use as Smartthings or homeassistant to act as an intermediate


text:
Only using 1 CPU thread

After switching from a 2-thread CPU to an 8-thread CPU I noticed that only 1 thread was being used during conversion despite threads being tried @ "auto" (default), 0, and 8.
ffmpeg version 3.2.4-1~16.04.york1
autoProcess.zip

This is an FFMPEG issue and unrelated to the script. Many FFMPEG builds and encoding libraries do not include multi threading
I would raise the issue on FFMPEG support channels
Sent from my iPhone

On Apr 7, 2017, at 00:44, kaydaryl notifications@github.com wrote:
After switching from a 2-thread CPU to an 8-thread CPU I noticed that only 1 thread was being used during conversion despite threads being tried @ "auto" (default), 0, and 8.
ffmpeg version 3.2.4-1~16.04.york1
autoProcess.zip
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Thank you for the quick reply!
If I run "ffmpeg -i $input.mkv $output.mp4" I get the expected threads * 1.5 instances of ffmpeg (watching via htop). Is there a way to confirm an ffmpeg build that threads well with your wonderful script?

It depends on many factors not just builds. I think any recent build should be fine but your encoder is also important in determining threading.
You could try putting the threads option in your preopts and see if that makes any difference in performance (preopts = -threads, auto)
Sent from my iPhone

On Apr 7, 2017, at 02:18, kaydaryl notifications@github.com wrote:
Thank you for the quick reply!
If I run "ffmpeg -i $input.mkv $output.mp4" I get the expected threads * 1.5 instances of ffmpeg (watching via htop). Is there a way to confirm an ffmpeg build that threads well with your wonderful script?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

I have the same "problem". Via manual.py ffmpeg only uses 1 core. Running ffmpeg manually (with the simple syntax that @kaydaryl attempted), it uses 6-8 cores (I have 1*8 core CPU).
However, with this very simple syntax, I'm guessing that it's re-encoding the video stream:
  Stream #0:0 -> #0:0 (h264 (native) -> h264 (libx264))
  Stream #0:1 -> #0:1 (dts (dca) -> aac (native))```

Which is why its making available use of all cores. When using the manual.py and my acceptable video codecs of [xh]264, so it just needs to convert audio and mux the streams.

I think this is going to be normal and likely the best performance you will receive if I'm understanding everything properly...

Yeah, if you're copying a stream that has almost no CPU utilization. So then CPU usage is determined by the audio encoder only which may not be multi threaded.

authors: kaydaryl kmr2319 mdhiggins


text:
Fixes for device uplink counters

Fixing devices_test: the most important test had stopped working due to short-circuiting if err is not nil.
Getting uplink stats from the new place where they exist, rather than the now-nonexistent uplink prefix.

LGTM

authors: akramer mdlayher

repo: mdlayher/unifi


text:
WebExtension menus ContextType is missing viewType property

Request type

[ ] Please close this issue, I accidentally submitted it without adding any details
[ ] New documentation
[x] Correction or update

Details

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/menus/OnClickData
fired from an onShown event. I also looked at when it is fired from inside an add-on popup.
So I looked at the info object and this is how it actually looks in Firefox 65:
"usual tab":
contexts: Array [ "page", "all" ]
editable: false
frameId: 0
menuIds: Array [] // empty
viewType: "tab"

popup:
contexts: Array [ "page", "all" ]
editable: false
frameId: 0
menuIds: Array [] // empty
pageUrl: "moz-extension://2dacb47d[...]/popup/qrcode.html"
targetElementId: 3187
viewType: "popup"

contexts and menuIds are documented in onShown, but the following ones are nowhere documented:

viewType (seems to be useful, but undocumented)

There is already a page for ViewType, but I've added it to the OnClickData page in the appropriate place as:
viewType {{optional_inline}}
{{WebExtAPIRef("extension.ViewType", "ViewType")}}. The type of extension view.

authors: irenesmith rugk

repo: mdn/sprints


text:
DDN FF63:  Add support for |clip-path: path()

Add support for |clip-path: path()
https://bugzilla.mozilla.org/show_bug.cgi?id=1246764
https://developer.mozilla.org/en-US/docs/Web/CSS/clip-path
[] update text
[] syntax
[] example
[] compat table
[] ddc

Definition of path()
https://drafts.csswg.org/css-shapes-2/#supported-basic-shapes
to be added to basic shapes at:
https://www.w3.org/TR/css-shapes/#basic-shape-functions
So we should add path() to the MDN basic shape definition
https://developer.mozilla.org/en-US/docs/Web/CSS/basic-shape
and add an entry in the compat table
{{Compat("css.types.basic-shape")}}
and add it to the shape-outside property
https://developer.mozilla.org/en-US/docs/Web/CSS/shape-outside
along with the compat table
{{Compat("css.properties.shape-outside")}}
and to the CSS Formal Syntax
data/css/syntaxes.json

@chrisdavidmills Help!

@estelle It looks like BasicShapeOrPath is an internal Gecko implementation detail. If you go to https://phabricator.services.mozilla.com/D3636 and search for it, you’ll see that it appears inside the Gecko C++ code; it looks like it is involved with the function that actually applies the visual mask to create the desired effect.
So I’d ignore this and get on with your plan, which sounds totally correct.

Notes:
basic shapes: FF supports path() for offset-path and clip-path, but not shape-outside or d (svg)

authors: chrisdavidmills estelle


text:
MDXEditor has no styling

Hi, first of all, thanks for much for this repo, it's amazing! I tried using MDXEditor in my React project but couldn't figure out a way to style it. This is what it looks like when imported.

I'm using

NextJS 13.4.8
React 18.2.0
tailwindcss 3.2.4
mdx-editor 0.3.0

I'm using MDXEditor inside a client component in NextJS. This is how I'm setting it up:
<div>
  <MDXEditor
    markdown={markdown}
    onChange={(markdown) => {
      setMarkdown(markdown);
    }}
  />
</div>

Oh, so exciting :). The first issue!
You need to import @mdxeditor/editor/style.css in there. This assumes that your bundling respects this package line. If not, the actual css file is here.
Please let me know how it goes, I am happy to help with your evaluation. It's a new project of mine, and I am happy to receive and act on feedback.

Added this to the getting started docs.

it worked, thanks!!

@petyosi Any suggestions for how to get styles included with a simple import rather than manually copying styles in?
Is it webpack that's unable to incorporate the exports key in your package.json?
I'm using:

webpack 5.88.2
mdx-editor 0.14.1

@braincore I'm not sure what you mean. What's the problem you have?

The toolbar had no styling before and after adding import '@mdxeditor/editor/style.css';. I assumed (but did not independently verify) that it's as you said: the bundler (webpack) does not respect the exports line in package.json.
If you don't think that's it, I'll dig in further.

Thanks for the clarification.
As far as I can tell, exports should work with your webpack version. Do you see any kind of error? Does it work if you use '@mdxeditor/editor/dist/style.css' (the actual location of the file?).
If you have the whole thing reproducible somewhere, I should be able to help further and document it properly. Thank you!

Sorry for the delay.
Using '@mdxeditor/editor/dist/style.css' doesn't work: ./dist/style.css is not exported from package.
I'm trying to test this with a large existing project so I don't have anything small and reproducible unfortunately. I assume it works for a fresh project.

@braincore in this case, it looks like your system does understand the exports field, but something else goes in the way. I'm not sure what goes on, but I would suggest that you poke around with the webdev tools and see where the style.css ends up. It could be many things, hard to say without being familiar with the project structure.

I am facing this same issue. The styling is missing from the mdx-editor components after running npm build in a standard create-react-app. I can confirm the browser receives the @mdxeditor/editor/style.css stylesheet after npm build, but the styles are not applied.
This is my package.json file
{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@auth0/auth0-react": "^2.2.0",
    "@emotion/react": "^11.11.1",
    "@emotion/styled": "^11.11.0",
    "@fec/remark-a11y-emoji": "^3.1.0",
    "@fontsource/poppins": "^5.0.3",
    "@geoffcox/react-splitter": "^2.1.2",
    "@loadable/component": "^5.15.3",
    "@logtail/browser": "^0.4.9",
    "@mdxeditor/editor": "^0.22.5",
    "@monaco-editor/react": "^4.5.1",
    "@mui/icons-material": "^5.11.16",
    "@mui/lab": "^5.0.0-alpha.134",
    "@mui/material": "^5.13.5",
    "@mui/x-date-pickers": "^6.12.0",
    "@reduxjs/toolkit": "^1.9.5",
    "@tanstack/match-sorter-utils": "^8.8.4",
    "@tanstack/react-query": "^4.29.15",
    "@tanstack/react-table": "^8.9.2",
    "@tanstack/react-virtual": "^3.0.0-beta.54",
    "@testing-library/jest-dom": "^5.17.0",
    "@testing-library/react": "^13.4.0",
    "@testing-library/user-event": "^13.5.0",
    "ajv": "^8.12.0",
    "axios": "^1.4.0",
    "axios-cache-interceptor": "^1.2.0",
    "dayjs": "^1.11.9",
    "endent": "^2.1.0",
    "figlet": "^1.6.0",
    "flourite": "^1.2.4",
    "framer-motion": "^10.16.2",
    "highlight.js": "^11.8.0",
    "html-react-parser": "^4.0.0",
    "humanize-duration": "^3.28.0",
    "import-lazy": "^4.0.0",
    "lexical": "^0.12.2",
    "localstorage-slim": "^2.4.0",
    "match-sorter": "^6.3.1",
    "material-react-table": "^1.14.0",
    "object-hash": "^3.0.0",
    "package.json": "^2.0.1",
    "qs": "^6.11.2",
    "react": "^18.2.0",
    "react-content-loader": "^6.2.1",
    "react-dom": "^18.2.0",
    "react-error-boundary": "^4.0.11",
    "react-helmet": "^6.1.0",
    "react-icons": "^4.9.0",
    "react-markdown": "^8.0.7",
    "react-redux": "^8.1.1",
    "react-router-dom": "^6.15.0",
    "react-scripts": "^5.0.1",
    "react-spinners": "^0.13.8",
    "react-syntax-highlighter": "^15.5.0",
    "react-use-websocket": "^4.3.1",
    "redux-persist": "^6.0.0",
    "redux-persist-transform-compress": "^4.2.0",
    "rehype-katex": "^6.0.3",
    "remark-gfm": "^3.0.1",
    "remark-math": "^5.1.1",
    "sugar": "^2.0.6",
    "throttle-debounce": "^5.0.0",
    "tinyld": "^1.3.4",
    "web-vitals": "^2.1.4"
  },
  "jest-w": "jest --watch",
  "jest": {
    "transform": {
      "^.+\\.[t|j]sx?$": "babel-jest"
    }
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

This is my component file:
import { useEffect, useState } from "react";
import { Box, Divider, Stack } from "@mui/material";
import { truncateString } from "../../utils";
import { detect } from "tinyld/light";
import {
  BoldItalicUnderlineToggles,
  InsertCodeBlock,
  InsertImage,
  MDXEditor,
  UndoRedo,
  headingsPlugin,
  listsPlugin,
  quotePlugin,
  thematicBreakPlugin,
  toolbarPlugin,
  imagePlugin,
  codeBlockPlugin,
  codeMirrorPlugin,
  CodeToggle,
  linkPlugin,
  linkDialogPlugin,
  CreateLink,
  InsertTable,
  tablePlugin,
  ListsToggle,
  BlockTypeSelect,
  ConditionalContents,
  ChangeCodeMirrorLanguage,
  InsertThematicBreak,
  DiffSourceToggleWrapper,
  diffSourcePlugin,
} from "@mdxeditor/editor";
import "@mdxeditor/editor/style.css"; // Seems to do nothing in production
import { COLORS } from "../../styles/Styles";

const TEXT = require("../../text.json");

const TextEditor = (props) => {
  const [value, setValue] = useState(props.initialText || "");
  const [focus, setFocus] = useState(false);
  useEffect(() => {
    // Sync local state with incoming prop
    setValue(props.initialText);
  }, [props.initialText]);

  const onChange = (editorValue) => {
    const shortenedValue = truncateString(editorValue, props.maxLength);
    setValue(shortenedValue);
    let lang = detect(value);
    if (!lang || !lang.length) {
      lang = "en";
    }
    props.handleChange(lang, shortenedValue);
  };

  useEffect(() => {
    const parentDiv = window.document.getElementById(props.uniqueId);

    if (!parentDiv) {
      console.error(`Parent element #${props.uniqueId} was not found.`);
      return;
    }

    parentDiv
      .querySelectorAll("._editorWrapper_npm11_133")
      .forEach((element) => {
        // @ts-ignore
        const css = element.style;
        css.setProperty("border-radius", "6px");
        css.setProperty("margin", `${focus ? 1 : 2}px`);
        css.setProperty("border", `${focus ? 2 : 1}px solid #4178bc`);
        //css.setProperty("border-right", `${focus ? 2 : 1}px solid #4178bc`);
        //css.setProperty("border-left", `${focus ? 2 : 1}px solid #4178bc`);
      });

    // Content container base
    parentDiv
      .querySelectorAll("._contentEditable_npm11_339")
      .forEach((element) => {
        // @ts-ignore
        const css = element.style;
        css.setProperty("min-height", `${props.minHeight || "20vh"}`);
        css.setProperty("max-height", `${props.maxHeight || "80vh"}`);
        css.setProperty("height", `${props.height || "20vh"}`);
        css.setProperty("resize", `vertical`);
        css.setProperty("overflow", `auto`);
      });

    // Content container top layer
    parentDiv
      .querySelectorAll(`._rootContentEditableWrapper_npm11_1016`)
      .forEach((element) => {
        // @ts-ignore
        const css = element.style;
        css.setProperty("border-bottom-left-radius", "6px");
        css.setProperty("border-bottom-right-radius", "6px");
        css.setProperty("background", focus ? "#fff" : COLORS.primaryGrey);
      });

    //Toolbar
    parentDiv.querySelectorAll(`._toolbarRoot_npm11_140`).forEach((element) => {
      // @ts-ignore
      const css = element.style;
      css.setProperty("border-radius", "0px");
      css.setProperty("border-top-left-radius", "6px");
      css.setProperty("border-top-right-radius", "6px");
      css.setProperty("border-bottom", `1px solid #4178bc`);
      css.setProperty(
        "background-color",
        focus ? COLORS.primaryGrey : COLORS.altMidGrey
      );
    });

    //Toolbar redo/undo buttons
    parentDiv
      .querySelectorAll("._selectWithLabel_npm11_922 ._selectTrigger_npm11_267")
      .forEach((element) => {
        // @ts-ignore
        const css = element.style;
        css.setProperty("border", `1px solid ${COLORS.primaryLightBlue}`);
        css.setProperty("cursor", "pointer");
      });

    //Toolbar other buttons
    parentDiv
      .querySelectorAll(
        `._toolbarToggleItem_npm11_181, ._toolbarButton_npm11_210, ._toolbarToggleSingleGroup_npm11_196`
      )
      .forEach((element) => {
        // @ts-ignore
        const css = element.style;
        css.setProperty("color", COLORS.primaryDarkBlue);
        css.setProperty("cursor", "pointer");
      });
  });

  useEffect(() => {
    const parentDiv = window.document.getElementById(props.uniqueId);

    if (!parentDiv) {
      console.error(`Parent element #${props.uniqueId} was not found.`);
      return;
    } // Exit if the parent div doesn't exist.

    const divElement = parentDiv.querySelector("._contentEditable_npm11_339");

    const handleFocusIn = (e) => {
      setFocus(true);
    };

    const handleFocusOut = (e) => {
      setFocus(false);
    };

    if (divElement) {
      divElement.addEventListener("focusin", handleFocusIn);
      divElement.addEventListener("focusout", handleFocusOut);
      //divElement.addEventListener("click", handleClick);
    } else {
      console.error(
        `Parent element #${props.uniqueId} > ._contentEditable_npm11_339 was not found.`
      );
      return;
    }

    // Cleanup the event listeners on component unmount
    return () => {
      if (divElement) {
        divElement.removeEventListener("focusin", handleFocusIn);
        divElement.removeEventListener("focusout", handleFocusOut);
        //divElement.removeEventListener("click", handleClick);
      }
    };
    // The effect will run once after the first render and won't run again unless
    // the component is unmounted and then remounted.
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, []);

  return (
    <Box id={props.uniqueId} sx={{ p: "1px", width: 1 }}>
      <MDXEditor
        markdown={value}
        onChange={onChange}
        placeholder={props.placeholder}
        plugins={[
          headingsPlugin(),
          listsPlugin(),
          quotePlugin(),
          thematicBreakPlugin(),
          imagePlugin(),
          linkDialogPlugin({
            linkAutocompleteSuggestions: [
              "https://"
            ],
          }),
          tablePlugin(),
          linkPlugin(),
          listsPlugin(),
          thematicBreakPlugin(),
          diffSourcePlugin({
            diffMarkdown: "An older version",
            viewMode: "rich-text",
          }),
          codeBlockPlugin({
            defaultCodeBlockLanguage: props.defaultCodeBlockLanguage || "python",
          }),
          codeMirrorPlugin({
            codeBlockLanguages: {
              cpp: "C++",
              java: "Java",
              javascript: "JavaScript",
              json: "JSON",
              python: "Python",
              sh: "Shell",
              txt: "Text",
              yml: "YAML",
              sql: "SQL",
            },
          }),
          toolbarPlugin({
            toolbarContents: () => (
              <Box sx={{ width: "100%" }}>
                <ConditionalContents
                  options={[
                    {
                      when: (editor) => editor?.editorType === "codeblock",
                      contents: () => (
                        <DiffSourceToggleWrapper>
                          <Stack
                            direction="row"
                            justifyContent="flex-start"
                            alignItems="center"
                            spacing={2}
                            useFlexGap
                            flexWrap="wrap"
                            divider={
                              <Divider orientation="vertical" flexItem />
                            }
                          >
                            <UndoRedo />
                            <ChangeCodeMirrorLanguage />
                          </Stack>
                        </DiffSourceToggleWrapper>
                      ),
                    },
                    {
                      when: (editor) => editor?.editorType === "codeblock",
                      contents: () => (
                        <DiffSourceToggleWrapper>
                          <Stack
                            direction="row"
                            justifyContent="flex-start"
                            alignItems="center"
                            spacing={2}
                            useFlexGap
                            flexWrap="wrap"
                            divider={
                              <Divider orientation="vertical" flexItem />
                            }
                          >
                            <UndoRedo />
                            <Stack
                              direction="row"
                              justifyContent="flex-start"
                              alignItems="center"
                              useFlexGap
                              flexWrap="wrap"
                              spacing={0.5}
                            >
                              <BlockTypeSelect />
                              <BoldItalicUnderlineToggles />
                            </Stack>
                          </Stack>
                        </DiffSourceToggleWrapper>
                      ),
                    },
                    {
                      fallback: () => (
                        <DiffSourceToggleWrapper>
                          <Stack
                            direction="row"
                            justifyContent="flex-start"
                            alignItems="center"
                            spacing={2}
                            useFlexGap
                            flexWrap="wrap"
                            divider={
                              <Divider orientation="vertical" flexItem />
                            }
                            sx={{ width: "100%" }}
                          >
                            <UndoRedo />
                            <Stack
                              direction="row"
                              justifyContent="flex-start"
                              alignItems="center"
                              useFlexGap
                              flexWrap="wrap"
                              spacing={0.5}
                            >
                              <BlockTypeSelect />
                              <BoldItalicUnderlineToggles />
                            </Stack>
                            <Stack
                              direction="row"
                              justifyContent="flex-start"
                              alignItems="center"
                              useFlexGap
                              flexWrap="wrap"
                              spacing={0.5}
                            >
                              <CodeToggle />
                              <InsertCodeBlock />
                            </Stack>
                            <Stack
                              direction="row"
                              justifyContent="flex-start"
                              alignItems="center"
                              useFlexGap
                              flexWrap="wrap"
                              spacing={0.5}
                            >
                              <CreateLink />
                              <ListsToggle />
                              <InsertTable />
                              <InsertImage />
                              <InsertThematicBreak />
                            </Stack>
                          </Stack>
                        </DiffSourceToggleWrapper>
                      ),
                    },
                  ]}
                />
              </Box>
            ),
          }),
        ]}
      />
    </Box>
  );
};

TextEditor.defaultProps = {
  height: "200px",
  initialText: "",
  handleChange: () => {},
  options: {},
  placeholder: TEXT.components.markdown_text_field.default_help_text,
  uniqueId: "description-editor",
  defaultCodeBlockLanguage: "python",
};

export default TextEditor;

You might say the useEffect() block with the CSS editing is the issue, but even when that's completely removed, the basic CSS is missing after the build.
When I run it via npm start it looks like this:

When I run it after building in a docker container, it looks like this:

This is the Dockerfile:
# Step 1: Build the React application
FROM node:18 AS build
ENV NODE_OPTIONS="--max-old-space-size=16384"

# Set working directory
WORKDIR /app

# Copy package.json and package-lock.json
COPY ./frontend/package*.json ./

# Install dependencies
RUN npm install

# Copy local files to container
COPY ./frontend .

# Build the React app
RUN npm run build

# Step 2: Serve the React application from Nginx
FROM nginx:alpine

# Install curl for health check
RUN apk update \
    && apk --no-cache  \
      add curl bash jq \
    && mkdir -p "/data/nginx/cache"

# Copy nginx configuration
COPY docker/webapp/node/default.conf.template /etc/nginx/templates/nginx.conf.template
COPY docker/webapp/node/nginx.conf /etc/nginx/nginx.conf
COPY docker/webapp/node/entry.sh /entry.sh

RUN chmod +x /entry.sh

# Copy the build app to the nginx container
COPY --from=build /app/build /usr/share/nginx/html

# Expose ports
EXPOSE 80

# Start Nginx
CMD ["/entry.sh"]

I found a workaround for the issue by using react-helmet to inject the mdxeditor style into the style in the page's head. I have little experience with frontend dev, and I am not proud of this solution, yet it works. I am open to any suggestions.
More specifically, below you can see at the top of my js component mentioned earlier, I added the following snippet to inject the mdxeditor into the style component of the page's head:
import {mdEditorStyle} from "./MdEditorStyle";

...

<Box id={props.uniqueId} sx={{ p: "1px", width: 1 }}>
     <Helmet>
         <style type="text/css">{mdEditorStyle}</style>
    </Helmet>
    ...

The ./MdEditorStyle file contains a string with the CSS from the @mdxeditor/editor/style.css:
export const mdEditorStyle = `
:root, .light-theme {
  --blue1: hsl(206, 100%, 99.2%);
  --blue2: hsl(210, 100%, 98.0%);
  --blue3: hsl(209, 100%, 96.5%);
...
`

I hope this helps

When I run it after building in a docker container, it looks like this:

@HWilliams64 this sounds like a build step issue. Your workaround is dangerous; the package may update its CSS contents, breaking your app in subtle ways. I may suggest that you debug what happens in the production step using your web inspector.

For anyone who finds this issue and experiences something similar: there's nothing special about the MDXEditor styling setup - it boils down to including a style file from an NPM package. The style file is declared as an export field. All modern bundlers understand that.
The mdx-editor organization includes several sample setups in Next.js (both routers), CRA, and Vite. If you have problems with the styling, compare your setup with the respective repo. If you still have troubles, isolate your problem down to a simple reproduction in a public repo and open a new issue. I should be able to help you if I can reproduce the problem on my side.
I am going to lock this issue as it turns into a catch-all problem of unrelated reports.

authors: HWilliams64 braincore petyosi ryendu

repo: mdx-editor/editor


text:
Making Topbar into sidebar

How can i remove topbar and instead add the same menus into sidebar.
Also, if i want to introduce my own css style where should it be added?

Hi, the css should go in the respective folder "/module/module_name/css"  and it will be automatically added.
and for the sidebar just change the html structure of the navbar for the one that you need to use for sidebar but keep the angular parts.

thanks Javo01

When i inspect Elements in the browser i cant see the html,how am i gonna do that?

what elements are you looking for?
the elements for the topbar are in the file --> "/modules/core/client/views/header.client.view.html"

This is more style and less about the framework itself, so I'm going to close this.

repo: meanjs/mean


text:
Error handling for failed requests

Currently if the user lost his connection or the request timed-out or the server goes down the client controllers do not handle this error as there is no response. Even if error handling is invoked res.data.message is not available, and there would be an angular error posted to the console(which the end user isn't watching). So end user experience is that he clicks a button and waits but nothing happens.
Such a scenario can be handled by adding an error handler for status code -1 and use the ui-notification to show an alert that the response failed.
Thoughts?

SGTM. Can we watch for this error response in our $http Interceptor's implementation? That would be ideal.

@mleanos Ill make a PR shortly with an implementation I am testing now. It uses the Auth Interceptor.

authors: mleanos sujeethk


text:
Simultaneous audio playback on iOS

We need to play an hls stream (audio / video) and play a local audio file repeatedly in low latency (using flutter soloud for that)
On iOS when one audio plays the other stops and vice versa.We did try playing around with setting the audio context on iOS to allow mixWithOthers to get it to work to no luck. Any help is deeply appreciated

I recall having a patch for this on iOS... not sure what to do...

authors: Rohan-raftlabs alexmercerind

repo: media-kit/media-kit


text:
ECC Keys and Statement Signing/Verification

Upgrade libp2p to the new shiny ECC keys; plenty of modularization changes as well
Split the node identity in two:

A PeerIdentity for libp2p connections, which retains RSA keys (but extends to 2k) for aleph interop
A PublisherIdentity which contains the ECC signing key; the publisher id is the base58 encoding of the public key

Sign all published statements
Verify statement signatures in merge operations
Update the /id api to return both identities in a json object

Closes #6
Closes #12

👍 looks great; I'll dig into getting ECC working in javascript.  maybe worth looking into forking js-libp2p-crypto and hope we can submit a PR upstream.
should we include the publisher key in the PeerInfo protobufs?

Yeah, we probably want it -- but probably not in the PeerInfo object.
I will show some love to the directory when I work on the networking stuffs next, so I'll add it then.

sounds good 👍

authors: vyzo yusefnapora

repo: mediachain/concat


text:
Revision Needed: Canonical URL extraction method will break with future versions of trafilatura

The current approach for extracting canonical URLs using trafilatura relies on the behaviour of the version of the library we are currently using (1.8.*). This version automatically extracts metadata from HTML pages regardless of whether the with_metadata parameter is specified.
From trafilatura version 1.11.*  metadata extraction is skipped by default thus would prevent us from automatically extracting canonical URLS. Thus, we need to explore a different approach for the extractor before any future upgrades.

Maybe we should add a comment/warning in requirements.txt about trafilatura versions!

Sure I will do the needful!

repo: mediacloud/metadata-lib


text:
Plain template with option for Font reletade code

For Mondelez we use a lot the plain template, but we dont need the font tools (font loader, font sub setting, fittext) most of the times.
Could we have an option to build the plain with or without all font related code?
Thanks.

hey Pablo,
We could add another 'lite' option, sure. But don't you use fonts in mondelez units?

@PabloCarreira Also this is the repo for the display-temple which only contains the utils. The templates are maintained in the generator-display-boilerplate repo. Can you move this issue there?

authors: PabloCarreira mirkovw

repo: mediamonks/display-temple


text:
Add endpoints for profile data

The following is needed in order to support the upcoming DSE feature.

/dse/profile-tree
/dse/profile-data
/terminology/i18n

simply deliveres a pre-generated json (https://github.com/medizininformatik-initiative/fdpg-plus/issues/18)
takes a list of urls (or maybe uuids...to be discussed with gui team) and returns the detailed information for those ids (similar to the criteria-profile-data endpoint). This information is to be stored in a standalone table in the postgres db
returns a mapping between the terminology url and a better readable name (e.g. simply "loinc") - since this does not need different languages (most likely), it could be renamed to something that does not imply multiple languages

/terminology/i18n change to /terminology/systems


text:
Document how to delete data in the Medplum app

Original thread: https://medplum.slack.com/archives/C04A55B3VU5/p1688579506747059
Including bulk delete for multiple resources

For normal project admins: https://www.medplum.com/docs/fhir-datastore/deleting-data
For super admins, see "Purge Resources": https://www.medplum.com/docs/self-hosting/super-admin-guide

The request here was how to delete using the app - with the multi checkbox like so:

authors: codyebberson reshmakh

repo: medplum/medplum