Performance issues & some fixes

I've been testing out zulip with large data sets (1000's of users, streams, etc). While some of the performance problems require UI design changes, there are a few optimizations that can be made directly on the backend. Here the small ones I've found so far:
1. Case-insensitive index on UserProfile.email.
Code like the following does a O(n) lookup on the UserProfile table:
def get_user_profile_by_email(email):
    return UserProfile.objects.select_related().get(email__iexact=email.strip())

All it needs for indexed-based DB look up is an index like what is in 0003_custom_indexes.py:
        migrations.RunSQL("CREATE INDEX upper_user_email_idx ON zerver_userprofile ((upper(email)));",
                          reverse_sql="DROP INDEX upper_user_email_idx;"),

There might be other tables (prereg user?) that need this index. Alternatively, Postgres has a CITEXT column type for Case-Insensitive text.
2. Realm.get_admin_users*
Turns out that this authorization check is rather expensive when you have a lot of users. Primarily slow due to an OR with the group_permissions table. I could be wrong but it appears that Zulip doesn't use the group permissions of guardian. Best to check, but adding the "with_group_users=False" made this an order of magnitude faster:
     def get_admin_users(self):
         # This method is kind of expensive, due to our complex permissions model.
-        candidates = get_users_with_perms(self, only_with_perms=['administer'])
+        candidates = get_users_with_perms(self, only_with_perms=['administer'], with_group_users=False)
         return candidates

3. Filtering UserProfile on is_action, is_bot
Indexing these columns helps performance in a few cases, as it is a common filter. Needs corresponding migration file.
 class UserProfile(AbstractBaseUser, PermissionsMixin):
     # Fields from models.AbstractUser minus last_name and first_name,
     # which we don't use; email is modified to make it indexed and unique.
     email = models.EmailField(blank=False, db_index=True, unique=True)
     is_staff = models.BooleanField(default=False)
-    is_active = models.BooleanField(default=True)
-    is_bot = models.BooleanField(default=False)
+    is_active = models.BooleanField(default=True, db_index=True)
+    is_bot = models.BooleanField(default=False, db_index=True)
     date_joined = models.DateTimeField(default=timezone.now)
     is_mirror_dummy = models.BooleanField(default=False)

4. Caching entire company directory can break memcache
Memcache has a reasonable 1MB size limit per cached object. When you have a company with 1000's of users, the following caching code breaks, getting error 37 from Memcache. It's more scalable to refactor the code to not fetch all company users in one go, but at least to fix the broken memcache, the cache on this function could simply be disabled:
-@cache_with_key(active_user_dicts_in_realm_cache_key, timeout=3600*24*7)
+# @cache_with_key(active_user_dicts_in_realm_cache_key, timeout=3600*24*7)
 def get_active_user_dicts_in_realm(realm):
      return UserProfile.objects.filter(realm=realm, is_active=True) \
                                .values('id', 'full_name', 'short_name', 'email', 'is_bot')

5. alert_words_in_realm fetches too much data
The default behaviour of this function is to fetch all records for the realm, which is a lot of data for large companies. Assuming that usage of Alert Words is sparse, then filtering to exclude users who don't have any results in a much faster query.
 import ujson
+from django.db.models import Q

 @cache_with_key(realm_alert_words_cache_key, timeout=3600*24)
 def alert_words_in_realm(realm):
-    users = zerver.models.UserProfile.objects.filter(realm=realm, is_active=True).values('id', 'alert_words')
+    users = zerver.models.UserProfile.objects.filter(~Q(alert_words=ujson.dumps([]))).filter(realm=realm, is_active=True).values('id', 'alert_words')
     all_user_words = dict((user['id'], ujson.loads(user['alert_words'])) for user in users)

6. DevAuth feature makes Login page too slow
DevAuthBackend is pretty handy, but the login page will be pretty much unusable once you get a few thousand UserProfiles in the DB. Makes sense to cap the query at 100? Also sorting by email can be done on the DB as a minor improvement.
 def login_page(request, **kwargs):
     extra_context = kwargs.pop('extra_context', {})
     if dev_auth_enabled():
-        users = UserProfile.objects.filter(is_bot=False, is_active=True)
-        extra_context['direct_admins'] = sorted([u.email for u in users if u.is_admin()])
-        extra_context['direct_users'] = sorted([u.email for u in users if not u.is_admin()])
+        MAX_DEV_BACKEND_USERS = 100
+        users = UserProfile.objects.select_related('realm').filter(is_bot=False, is_active=True).order_by('email')[:MAX_DEV_BACKEND_USERS]
+        extra_context['direct_admins'] = [u.email for u in users if u.is_admin()]
+        extra_context['direct_users'] = [u.email for u in users if not u.is_admin()]

7. json_events_register - unused?
This function might not be used? At least that's what my old comment says (in my local copy).
https://github.com/zulip/zulip/blob/e95739961f28916011d36fe58cc4eb45a20e20a3/zerver/views/__init__.py#L1157
8. realm_user_count - replace python object count with DB count query
This will be much faster for large realms.
 def realm_user_count(realm):
-    user_dicts = get_active_user_dicts_in_realm(realm)
-    return len([user_dict for user_dict in user_dicts if not user_dict["is_bot"]])
+    return UserProfile.objects.filter(realm=realm, is_active=True, is_bot=False).count()

Cool, thanks for doing this investigation @dbiollo !  Are you intending to develop and submit PRs for any of these issues?  I'm happy to provide advice on how to best address some of these...

Here's some notes on these various items:
(1) Case-insensitive index on UserProfile.email.
I believe that the index in 0003_custom_indexes.py is already used for the query you reference; is the issue that we may need similar indexes elsewhere or are you seeing that index not being used?
(2) Realm.get_admin_users*
Zulip is not using the groups support of Guardian, so I think that would be a fine patch to add.
(3) Filtering UserProfile on is_active, is_bot
Those seem like reasonable indexes to add.
(4) Caching entire company directory can break memcache
Roughly how many users are required for this to become an issue?  I think the places where this is used do require all the users in the company, so we'd either need to change the UI for larger realms or do something else reasonable (e.g. if this were the only issue we could get a multiplicative factor by compressing or encoding in something more efficient than JSON strings)
(5) alert_words_in_realm fetches too much data
alert_words is not a heavily used feature, so that approach would be reasonable.
(6) Capping the query at 100 seems very reasonable here.
(7) json_events_register is used as the handler for /json/get_events.  However, we are in the process of removing the remaining pre-API format views, and it could be easily replaced with /json/events (I merged some similar changes to remove e.g. /json/send_message a few days ago).
(8) I think we may want to be thoughtful about this one -- the current code doesn't talk to the database because of the memcached entry discussed in (4).  I think you're right that regardless the current check is inefficient, but count queries can be slow in postgres, so I'd definitely want to test this a bit before changing this to a count query.

Also, @dbiollo if the way you're testing for these issues is something we could script and include in the automated tests that we run on every Zulip change, that would be awesome -- I always find it's best with performance work to have tools making sure issues don't regress in the future :)

Hey @timabbott, my plan is to eventually plugin this into performance tests. No Pull Requests expected for a while; though I have submitted the CLA for my company to approve. Hopefully by January :/  Feel free to incorporate any of the non-controversial changes.
RE: (3) - The indexes in 0003_custom_indexes are great but only apply to zerver_message & zerver_stream. The same case-insensitive index is needed for zerver_userprofile and probably zerver_realm, zerver_preregistrationuser given that there are case-insensitive queries of the form: "xxxx__iexact".
RE: (4) - It seems to break around 10-12K users.
Was wondering if you think that Streams & Realms should have some configurable or hard coded limits to subscription size / membership, at least until such time as the scale issues are all fixed?  I've been adding LIMIT 1000 in a lot of places, which makes it responsive enough.

OK, good to know; time permitting I'll probably get to several of these before January.
Regarding limits, I definitely think having (configurable) limits would be a valuable feature to help prevent people from accidentally getting themselves into serious trouble!

@dbiollo I opened #392 with versions of the fixes for issues 1, 2, 3, 5, 6, 7, and 8; I'd love it if you could take a quick look at it and test it in your environment!
For (4), I think we may need that cache for performance reasons in an actually active realm.  It could be valuable to look at whether it makes sense to e.g. gzip-compress the content; I should also note that if we merge #378, we won't have memcached's 1MB limit of object sizes.

@dbiollo so looking at issue 4, I think there's a few things that would need to happen if we wanted to remove that cache:
(A) I pushed a small commit to https://github.com/timabbott/zulip/tree/tabbott-user-dicts removing some of the users of get_active_user_dicts_for_realm
(B) With that change, most of the zerver/lib/actions.py accesses can just use active_user_ids(realm), which we can reimplement to just doing a database query or having its own cache which would be fairly efficient as just as list of IDs.
(C) The bugdown use of it is for matching users by short or long name in @-mentions.  When we solve https://github.com/zulip/zulip/issues/374, that should resolve this issue since we shouldn't need to be doing a lookup through all full names.
(D) The call in streams.py is legacy code predating the notifications_stream feature (instead sending a PM to every user!) that we should probably just remove at this point.
(E) We'd still need to use the cache for get_realm_user_dicts used in fetch_initial_state_data.
I've posted #442 to handle (A) and (D) since they're unconditional improvements to the code that don't involve a complex transition.

@dbiollo How are things going? :)
In case you'd like to talk synchronously about this: We're hosting a livechat "office hour" at the open Zulip realm https://zulip.tabbott.net on Monday, August 15th, 10am-11am Pacific Time / 1pm-2pm Eastern Time / 10:30-11:30pm India time. Please come by if you want to talk about these fixes in realtime -- or about  the experimental new desktop app, helping us figure out what new users need to know, replacing memcached with Redis, etc. We'd be happy to see you.

Closing the remaining piece in favor of https://github.com/zulip/zulip/issues/3709
Thanks again for this testing work @dbiollo!


Update Vagrantfile to use Ubuntu 16.04

test.sh does not run on Ubuntu 14.04 (See issue #889)

Can one of the admins verify this patch with one of the following commands:

"test please" for a one time test run
"ok to test" to accept latest and future commits on this pull request for testing
"add to whitelist" to add the author to the whitelist

Thanks! Do you know if this Vagrant box fixes the problem with VirtualBox being unable to mount synced folders, as mentioned in #530? (The bug report mentioned in the comment on that issue is still marked as "in progress" on Launchpad.)

ok to test

@ingve I didn't see that issue when I run locally.
According to the launchpad linked on #530 this has been fixed since 20160907 (see here).
Running vagrant up, vagrant ssh work without error.
Inside the vm ./install.sh and ./test.sh run.
When I run test.sh I get the following error message after a while:
[ DHCPv4 ] Negotiation timed out
But the service seems to function correctly (I can ping it, and get the same response as defined in the test service when I run curl against the service)
Whats up with the failing tests? Anything I should worry about?

Very good news that the VirtualBox folder issue is fixed!
 Could you redirect it to the dev branch and see if the tests pass then?

Done, all tests passing :)


fix(docs): delete unnecessary title, fix invalid links

hi,

when i enter to Columns Guide, i found that links of header groups, headers, footers returns 404. so i fixed it.

remove unnecessary title inside Headers Guide.

There were a bunch of bad links as we transitioned from rewriting the docs in remix to TanStack Start, but these new links won't work. Closing in favor of other fixes.


DiskLruCache snapshot() method removing entries that are being cached (3.14.x branch)

Fixed a bug I found.
When using DiskLruCache, hasNext() method of Iterator returned by snapshot() method iterates through lruEntries, however if entry is not completed yet, it is removed (together with dirtyFiles) as cleanFiles don't exist yet - during saving response to disk. This caused sometimes file not being cached at all.

Cherry-picking from https://github.com/square/okhttp/pull/3905

Sorry for not following up and cherry picking the fix.  Thanks for this!


systemctl --user (allow to restart a single service)

we are currently running each service (etcd, k8s services, runtime) as part of a Taskfile.yml.
It'd be nice if we support restarting a single service, perhaps not using go-task for handling the bootstrap of Usernetes.
Perhaps systemctl --user?
The biggest problem I see is that all the services must be in the same user namespace

Perhaps systemctl --user?
The biggest problem I see is that all the services must be in the same user namespace

Probably we should launch "pause" service via rootlesskit first, and then start other services via nsenter.

@giuseppe
I'm going to adopt systemd --user.
While I do want to support non-systemd system (especially Usernetes-in-Docker), but I don't want to maintain both Taskfile.yml and systemd unit files...
Is there way to execute systemd unit files without actual systemd running?

Also we would need to determine the binary path (~/bin? ~/opt/usernetes/bin? ~/.local/share/usernetes/bin? ~/.local/bin?)

The best way seems to use plain old SysV scripts.
Both systemd and Taskfile should be able to execute SysV scripts.

I'm planning to implement this soon using https://github.com/AkihiroSuda/containerized-systemd .


Ionic app not recognizing speech in android mobile

Can anyone please check this issue http://stackoverflow.com/questions/37158366/ionic-app-not-recognizing-speech-in-android-mobile

There is no enough information

I wanted to design an ionic app that listens to voice commands . But the app seems to recognize the voice commands over the microphone if tested on my computer using the
var recognition = new webkitSpeechRecognition();//To Computer command.
But when I replaced the above command for the android device
var recognition = new SpeechRecognition(); // To Device seems not working on android device..What can be the possible issue..

Still no enough information.
How are you testing the plugin?
cordova CLI version?
cordova-android version?
android version of the device where you tested?

I'm testing the plugin using Genymotion.
Cordova version 6.1.1
Cordova platform android version-6.1.1
Android version 4.4.4 KTU84P

The plugin doesn't work on genymotion unless you install a few things first.
Read the last comment here https://github.com/macdonst/SpeechRecognitionPlugin/issues/15


RN 0.61.5 null is not a object

I try install but not done   . Pls support for me.thanks

Same here!!!

I tried add the following to PodFile and it works
pod 'RNInputMask', :path => '../node_modules/react-native-text-input-mask/ios/InputMask'
pod 'react-native-text-input-mask', :path => '../node_modules/react-native-text-input-mask'

@samuelcp Updated my packange and change on pod.. Then works !! THx

omg , library so small and so much issues .

Same here

Same issue, not working on Android.

Me too! Same issue.
That's working on iOS, but not working on Android.

Same issue on Android =(

Any updates on this issue? I'm also facing this problem in android :(

Still does not work!

Should be working, p;lease try the latest version

same issue Android!

Same issue Android

Same issue Android

Same issue here

Mesmo problema, não funciona.

Same issue here


Can't define description using slide upload

Using v0.10
Command line was :
slide upload "D:\Users\Alban\Desktop\test upload\Unknown\OCT - 20170301 - Study desc\1\IM0000.tiff" -n "Image name 1" -d "Short desc" -g "58a5cfa244480a000120f564" -p 0.976562 -u um -f tiff --chunk-size 512
When I check file on platform, description is empty.
Otherwise, I don't know if it's a bug, but Image field is
D:UsersAlbanDesktoptest uploadUnknownOCT - 20170301 - Study desc1IM0000.tiff . As a user I'd prefer my full path not saved on server.

@amounierlltech Thanks for reporting. What do you mean "Image field", from the work list or using ecli? Which field gives that output?

Both.
With navigator I see this full path in "Image" field when I edit image.
With Ecli I see this full path in json field "filname" when I use "slide info" function


Headers are being rearranged, which breaks digital signature checks

Version and Runtime
Version: 12.7.0
Commit: 9c95632b3e8562be6df690c639a3f5a6f40d3004
Runtime: go1.12.4 darwin/amd64
Date: 2019-07-21T12:38:16Z

Expected Behaviour
When running Vegeta using custom headers and body I expected Vegeta to honor the order in which the headers were supplied and to avoid manipulating headers like "Content-length". These MUST be kept EXACTLY as they are in my payload files because they contain cryptographic hashes of the headers/body. If the headers change (
or the order in which the headers appear changes), the hashes no longer match the headers/body and the server will refuse to accept my requests.
Actual Behaviour
Vegeta re-ordered the headers (moved Content-length from last header to 3rd header for example, and it also randomly re-orders other headers) and it altered the Content-length. As a result the server rejects my payload because the cryptographic hashes no longer match.
Steps to Reproduce
Run Vegeta against a server that verifies cryptographically hashed HTTP headers/bodies.

Is there an option to tell Vegeta to pass headers/body verbatim instead of processing/re-ordering them?

Is there an option to tell Vegeta to pass headers/body verbatim instead of processing/re-ordering them?

No, I don't think this is possible. In fact, per RFC 2616:

The order in which header fields with differing field names are received is not significant. However, it is "good practice" to send general-header fields first, followed by request-header or response- header fields, and ending with the entity-header fields.


The rarity of Shulker Factories means a cartographer map would be very useful

I think they should probably spawn in End Cities since it makes sense thematically and it really solidifies the progression of End Cities coming first before Shulker Factories.

Done


CNI-5780; SampleProject.zip added, fastfile changes

As our partners requested - I added sample as a compressed zip with frameworks attached. So now if anyone wants to have fully working sample, one can do it by just downloading zip and opening project (it's ready to run).

          3 Warnings

:warning:
Gemfile modified

:warning:
README.md modified

:warning:
fastlane/Fastfile modified

  Generated by :no_entry_sign: Danger

@Mourad-Aly I've cleaned up a bit of fastfile and also removed the unused lane, that @wladyslaws probably forgot to remove. You can take a look.


Do not display an error message if the default CT log list is not found

This saves users getting concerned if they see "Failed to load default Certificate Transparency log list" when using s_client. An error will still be displayed if they explicitly provide a CT log list using --ctlogfile and loading fails.

yes, make the owur change and i will also plus-one

PR #791 contains the __owur change.

+1

So I've been reading the existing documentation in doc/ssl/SSL_CTX_set_ctlog_list_file.pod, and I have a few comments.
It documents as SSL_CTX_set_default_ctlog_list_file() never returning errors.  But it does, or you wouldn't be changing this in the first place.
I'm also not very happy with skipping on error, I would rather that it gave an error.  If it's not working you now have no idea why.
I'm also not sure why we have a default function and why we can't use the normal function with a default path instead.

Where the documentation says it "never reports errors", that refers to the fact that SSL_CTX_set_default_ctlog_list_file calls ERR_clear_error and so error reporting is suppressed. The return value could still be used to check for success though. The documentation does say this, but it could certainly be more explicit about what not reporting errors means. As it happens though, this PR removes that error suppression (so I ought to update the doc). It introduces new error suppression, but only in s_client in the specific case that the default log list fails to load and CT support has not explicitly been requested. It seems it would only confuse users to display errors about something failing that they haven't asked for in the first place.
These functions are modelled after the existing certificate loading functions, which work in this way. I'm happy to change it though, if you have concrete recommendations. The current set of default file paths live in crypto/include/internal/cryptlib.h, which aren't accessible from apps. I could put the default path in include/openssl/ct.h, if that's acceptable, and then remove SSL_CTX_set_default_ctlog_list_file() - how does that sound? The original author was seemingly aiming for consistency first and foremost.

Suppressing errors in s_client.c but not in general is the right solution. Please update the doc; not urgent today, though.
A dedicated set_default method is better than polluting public headers with the paths, imho. Modelling old APIs after new ones is not always wise but in this case, it seems to make sense.

Ah - I see you already updated the docs :) +1

@RJPercival can you do a quick rebase against master?  I'm getting several conflicts and don't want to screw it up :)

Rebased.

thank you sir.  pushed.
if you're still looking for something to do :) how about a policy that implements the Chrome EV/SCT callback?

I'm working on "-precert" and "-sctsfile" flag for "openssl ca" right now, so that OpenSSL can generate pre-certificates and embed SCTs in certificates (the API supports this, so there's just a little code required in apps/ca.c to expose it). I should have time to add such a policy as well though. That's just a callback that insists on at least two valid SCTs, one from a Google log and one from any other log, right?

Those flags are more important; the callback (you have the semantics right) can always be shipped in demos.  Hmm, in fact that makes the demo directory worthwhile ☺


introduce variables for column count in masonry emotions

Make column count in masonry emotion worlds configurable, so you can define the column count by setting a LESS variable in your own theme.
No BC breaks as the default values are the old ones.
see also: http://forum.shopware.com/discussion/34740/override-einkaufswelt-spalten-anpassen-fuer-masonry-in-emotion-less

@Phil23 might have a look?

Hi @SvenHerrmann,
thank you for your commit. The change is a good idea, but we are refactoring the emotion worlds for an upcoming release, so this is no longer relevant. I think the new features will be merged to the 5.2 branch in the next weeks. Stay tuned!


container create failed: container_linux.go:336: starting container process caused "setup user: permission denied"

Is this a BUG REPORT or FEATURE REQUEST?:
[//]: # kind bug
Description
Systemd fails to start containers with a permission error.
Steps to reproduce the issue:

Deploy podman <IP_ADDRESS> and configure a systemd service to start a container (example in this blog post).

Start the container with podman start, it works.

Start the container with systemd, it fails with permission error.

Describe the results you received:
Dec 11 17:08:31 undercloud.localdomain systemd[1]: Started mysql container.
Dec 11 17:08:31 undercloud.localdomain podman[47695]: unable to start container<PHONE_NUMBER>a18da8b0b319fa1cf47359b8323750677177906c3f980b226f03ad: container create failed: container_linux.go:336: starting container process caused "setup user: permission denied"
Dec 11 17:08:31 undercloud.localdomain podman[47695]: : internal libpod error
Dec 11 17:08:31 undercloud.localdomain systemd[1]: tripleo_mysql.service: main process exited, code=exited, status=125/n/a
Dec 11 17:08:31 undercloud.localdomain podman[47772]:<PHONE_NUMBER>a18da8b0b319fa1cf47359b8323750677177906c3f980b226f03ad

Describe the results you expected:
In podman 0.11.1, the container start from systemd successfully.
Output of podman version:
<IP_ADDRESS>

Output of podman info:
host:
  BuildahVersion: 1.6-dev
  Conmon:
    package: podman-<IP_ADDRESS>-3.git594495d.el7.centos.x86_64
    path: /usr/libexec/podman/conmon
    version: 'conmon version 1.12.0-dev, commit: d61f1d176b2b01a5e46efbf236427ece745b92f2-dirty'
  Distribution:
    distribution: '"centos"'
    version: "7"
  MemFree: 636874752
  MemTotal:<PHONE_NUMBER>
  OCIRuntime:
    package: runc-1.0.0-57.dev.git2abd837.el7.centos.x86_64
    path: /usr/bin/runc
    version: 'runc version spec: 1.0.0'
  SwapFree:<PHONE_NUMBER>
  SwapTotal:<PHONE_NUMBER>
  arch: amd64
  cpus: 4
  hostname: undercloud.localdomain
  kernel: 3.10.0-957.1.3.el7.x86_64
  os: linux
  rootless: false
  uptime: 1h 11m 48.49s (Approximately 0.04 days)
insecure registries:
  registries:
  - <IP_ADDRESS>:8787
  - <IP_ADDRESS>:8787
registries:
  registries:
  - registry.centos.org
  - registry.access.redhat.com
  - docker.io
  - quay.io
store:
  ContainerStore:
    number: 26
  GraphDriverName: overlay
  GraphOptions: null
  GraphRoot: /var/lib/containers/storage
  GraphStatus:
    Backing Filesystem: extfs
    Native Overlay Diff: "true"
    Supports d_type: "true"
  ImageStore:
    number: 25
  RunRoot: /var/run/containers/storage

Definitely looks like some sort of failure in runc - https://github.com/opencontainers/runc/blob/aa7917b7518ce48deed3a591dc415b006d478fd0/libcontainer/init_linux.go#L239-L240 is the function in question
Unfortunately the amount of debugging in runc code paths like this is extremely small, so we can't tell exactly where the permission denied is coming from easily from the error message, which is sad

If you leave Enforced mode in SElinux it works fine. Let me see why I didn't see the alert.

found 1 alerts in /var/log/audit/audit.log
SELinux is preventing /usr/bin/runc from setattr access on the fifo_file .
*****  Plugin catchall (100. confidence) suggests   **************************
If you believe that runc should be allowed setattr access on the  fifo_file by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
ausearch -c 'runc:[2:INIT]' --raw | audit2allow -M my-runc2INIT
semodule -i my-runc2INIT.pp
Additional Information:
Source Context                system_u:system_r:container_runtime_t:s0
Target Context                system_u:system_r:unconfined_service_t:s0
Target Objects                 [ fifo_file ]
Source                        runc:[2:INIT]
Source Path                   /usr/bin/runc
Port
Host
Source RPM Packages           runc-1.0.0-57.dev.git2abd837.el7.centos.x86_64
Target RPM Packages
Policy RPM                    selinux-policy-3.13.1-229.el7_6.6.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Permissive
Host Name                     undercloud.localdomain
Platform                      Linux undercloud.localdomain
3.10.0-957.1.3.el7.x86_64 #1 SMP Thu Nov 29
14:49:43 UTC 2018 x86_64 x86_64
Alert Count                   1
First Seen                    2018-12-11 17:52:35 UTC
Last Seen                     2018-12-11 17:52:35 UTC
Local ID                      2e738041-d01b-4a53-91b7-f99042bfb58f
Raw Audit Messages
type=AVC msg=audit(1544550755.385:1130): avc:  denied  { setattr } for  pid=77923 comm="runc:[2:INIT]" name="" dev="pipefs" ino=477416 scontext=system_u:system_r:container_runtime_t:s0 tcontext=system_u:system_r:unconfined_service_t:s0 tclass=fifo_file permissive=1
type=SYSCALL msg=audit(1544550755.385:1130): arch=x86_64 syscall=fchown success=yes exit=0 a0=2 a1=a5c2 a2=0 a3=0 items=0 ppid=77911 pid=77923 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm=runc:[2:INIT] exe=/usr/bin/runc subj=system_u:system_r:container_runtime_t:s0 key=(null)
Hash: runc:[2:INIT],container_runtime_t,unconfined_service_t,fifo_file,setattr

ping @rhatdan ^

In container-selinux we already have allow container_runtime_t unconfined_t:fifo_file setattr; in an optional policy, I'm wondering if we need to run it by default with latest runc.

@EmilienM What service is running as unconfined_service_t?
ps -eZ | grep unconfined_service_t

@rhatdan
system_u:system_r:unconfined_service_t:s0 7935 ? 00:00:04 registry
system_u:system_r:unconfined_service_t:s0 102039 ? 00:00:00 conmon

conmon should not be running as a unconfined_t service, I think this means that you launched podman from a systemd unit file, and podman was not labeled correctly?
ls -lZ /usr/bin/podman
-rwxr-xr-x. 1 root root system_u:object_r:container_runtime_exec_t:s0 29932824 Dec  7 11:30 /usr/bin/podman

@rhatdan yes, this is exactly my bug: when running containers from systemd I have this AVC. See https://github.com/containers/container-selinux/pull/59

Is this only happening in the test suite, where it is running a mislabeled podman?

@rhatdan it's happening for us in OpenStack when we run SElinux in Enforced mode and control containers with Systemd. I've been adding this scenario in Podman testsuite too: https://github.com/containers/libpod/pull/1987 and https://github.com/containers/libpod/pull/2002 so we catch it earlier next time.
Like I wrote in the bug description, it only happens with latest podman. With 0.11.x it works fine.


tmux-copycat slow on my machine

I just installed this plugin. I saw the screencast and it looks very fast. However, on my machine it takes around 1 second to find a match. Not sure what did I do wrong. Here's my tmux config:
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# don't rename windows automatically
set-option -g allow-rename off

# allow mouse to scroll
set -g mouse on

# scrolling 1 per line
set -g @scroll-speed-num-lines-per-scroll "1"

# themepack theme
set -g @themepack 'powerline/block/gray'

# We want tmux to support 256 colors and allow itallics
set -g default-terminal 'tmux-256color'
set -as terminal-overrides ',xterm*:Tc:sitm=\E[3m'

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @plugin 'jimeh/tmux-themepack'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

Hi,
yea, the plugin can get be slower as you described. I don't think it's
anything related to your config.
On 2018-08-04 11:06, Christopher Francisco wrote:

I just installed this plugin. I saw the screencast and it looks very fast. However, on my machine it takes around 1 second to find a match. Not sure what did I do wrong. Here's my tmux config:
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# don't rename windows automatically
set-option -g allow-rename off

# allow mouse to scroll
set -g mouse on

# scrolling 1 per line
set -g @scroll-speed-num-lines-per-scroll "1"

# themepack theme
set -g @themepack 'powerline/block/gray'

# We want tmux to support 256 colors and allow itallics
set -g default-terminal 'tmux-256color'
set -as terminal-overrides ',xterm*:Tc:sitm=E[3m'

# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'tmux-plugins/tmux-copycat'
set -g @plugin 'tmux-plugins/tmux-pain-control'
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @plugin 'jimeh/tmux-themepack'

# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'

--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tmux-plugins/tmux-copycat/issues/129

Are you sure? in the screencast it looks blazing fast. Maybe there's something I can do to make it faster(?)

Unbearably slow on my setup as well, hope to get around to profiling....

Looks to be disk bound performance issues (at least for me)... not sure if its just the amount of external sourcing of bash files or if its that I am an oddball on nixos package manager/wsl. I'll try again later on a less akward setup.
The ~3 seconds for the command to take action kind of matches up with the disk activity in task manager. I'm running a 960 pro, so disk work should be pretty fast.

on latest model 15" macbook pro and definitely seeing extreme slow down on that hardware too..
latest tmux + kitty (term)

Are you guys running large tmux scrollback histories, the set -g history-limit option? If the value of that option is large and you have big pane history I can see how this would need more time. Copycat dumps tmux's history to a file and then searches that file. The bigger the history the more time some of these actions can take.
I use set -g history-limit 5000. The speed on my machine is not snappy, but not slow either.

I'm having trouble, too; using the set -g history-limit 5000, I used tmux kill-server to start over, then typed tmux to start a new session. I entered echo "http://www.somewebsite.com", then ctl+prefix + ctl + U. It took about three seconds to find the result. This is on a 2018 MBP.
I first began noticing this problem sometime last year; there definitely was a time when it seemed as snappy as in the screencast.
I definitely don't mean to complain: the only reason this is a problem is because the plugin is incredibly useful. But I'd love it if anyone had any insight into what might be going on: this speed makes it a little hard to rely on the plugin the way I used to.

I too would love to be able to use this plugin; however it's unbearably slow for me (it takes multiple seconds after pressing my keybinding for anything to happen) and I believe the culprit is I/O.  I work on NFS mounts almost exclusively and the temporary files that copycat is writing are being made in the $CWD.  If the temporary directory were made configurable, I could point it to /tmp or /dev/shm (memory) which would make this usable.  Please consider making it configurable or make it respect the standard TMP, TMPDIR or TEMP environment variables.

What's the reason for dumping the buffer to a text file before searching it? I'd be happy to help make this faster. The plugin is a great idea but right now unfortunately pretty annoying to use.

What's the reason for dumping the buffer to a text file before searching it? I'd be happy to help make this faster. The plugin is a great idea but right now unfortunately pretty annoying to use.

Do you have time/capacity to action this? A lot of people would be very thankful!

I did some digging and it looks like the slowness is not caused by dumping the buffer first. By default, copycat dumps up to 9,000,000 scrollback lines, but changing this to even 100 does not make a noticeable difference.
Instead, the bulk of the "lag" comes in the copycat_cancel_bindings function. Whenever copycat mode is started, copycat extends the keybindings it needs for both searching and cancelling. To do this, it parses the output of tmux list-keys for every key to re-bind the key with its extended value.
For copycat_cancel_bindings, this is up to about 11 different keys, in addition to the standard "next" and "prev" keys. You can see this for yourself: if you comment out line 53 of copycat_mode_bindings.sh you'll see a noticeable improvement in speed (although this will mess things up).
I am not yet sure what the solution is, but at least now we know where the problem is.

I was able to get a little bit of improvement in my fork here. There is still a delay, although in my (limited) testing it does seem to be significantly less than it is now. I think the remaining delay comes from the actual calls to tmux bind-key which cannot really be optimized (they have to be done one at a time).

Would it be possible to bind the keys (maybe different ones to avoid conflicts) once during startup rather than every time copy mode is entered?

I think this is possible -- I'm not sure if maybe @bruno- or someone
else had a reason for not doing this, but since the copycat scripts that
we bind those keys to check if we are in "copycat mode" and simply do
nothing if we're not, I think it's safe to simply leave those keys bound
at all times.
I've updated my
fork
with that change, so feel free to test it out. It's still not as snappy
as I think I would like it to be but it is still noticably quicker.
On Sun, 03 Nov 2019 at 03:33 PM, Danijar Hafner wrote:

Would it be possible to bind the keys (maybe different ones to avoid conflicts) once during startup rather than every time copy mode is entered?
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/tmux-plugins/tmux-copycat/issues/129#issuecomment-549191094

Thanks @gpanders, the changes on your branch make a big difference on my machine... as in this plugin is usable again for me 🙌

@gpanders's changes make this indeed faster and like they said it still isn't as fast as one would like it's already a huge improvement as this plugin is once again usable, kudos! It also got merged to master over a month ago so no need to do like I did and replace the official release with his branch :)
Don't know if this can be regarded as solved though. I'd guess yes and any future performance issues should go to a new ticket since this has gotten stale and there already are some performance improvements implemented after filing the ticket.

@okuuva Due to the email I received when you commented, I reinstalled my tmux packages and am happy beyond my ability to describe to find that copycat is much faster than it was. Maybe it could be faster still, but—for me—it's definitely back into the very usable category. Thanks to everyone who helped improve the situation.

Also chiming in to confirm this is fast enough to be useful again! 🙌

Damn! it's blazing fast!! I love it!
Can we get a link to the commit/PR, in case anybody wants to work on an improvement?
It's amazing now. I agree that it could be better, however it is good enough to be usable in a workflow. Love you guys!!

Hey @gpanders! I saw your fork and I wanted to try it out. I didn't notice changes in speed so I wanted to confirm the way I am installing it. I did a manual installation and cloned the library and called copycat.tmux in the cloned repo of your fork.
I observed similar speeds but a lot of folks were saying that speeds heavily improved for them so I wanted to confirm my way of installing your fork.

Hi @hqkhan, my changes were merged into this repo back in January, so you won't see any difference between my fork and this repo right now.

Btw this issue should be resolved by https://github.com/tmux-plugins/tmux-copycat/issues/148

Gotcha. That's odd because I tried the repo first and it was really slow for me. I am on WSL-1 and tmux 3.0a.


Support nested menus

Hello, thanks for this library : )
It will be very useful if this library will support nested menus.

CN you give an example of what you are looking for with this? I'm not sure it's possible to do it with uimenu

@mpiannucci sure, I'm looking for something like this -> https://youtu.be/V2pM9WbpFEA

Oh wow! I didnt even know that those were supported in iOS. Ill have a look into it. Thanks for this!

I am working on this now btw, hope to have something released either tomorrow or this weekend

This is now available in master or from NPM with version 1.2.0. Thanks!

Very nice, thanks!


Create a 'package' for BTS

This PR adds all the astropy machinery for setup.py and changes the print statements to functions to make it py3 compatible.

@SeamusClarke If you're interested in having this package machinery built around BTS, please let me know.  I can take care of the merge issues.  It would be best for your package if it were both installable and python3-compatible.


Run entire test projects

Hi,
if I want to run all tests in a file I should use OmniSharpRunTestsInFile. if I pass a file address or multiple file addresses it will run all the test files I passed. but passing file addresses one by one manually is not convenient.
but it could be great if we can pass a regex as a parameter, so I can pass something like this **/*Tests.cs so it can run all tests files.
of if there is an alternative to achieve this. could you please help me with this?
in vscode there is a Testing section that shows all tests in a project that you can run them all. the same feature is in Visual Studio. but I don't know how to do that in vim-omnisharp.

I'm not at the computer right now to test but you can pass an array of filenames to OmniSharp#actions#test#RunInFile(), so you can do something like this:
:call OmniSharp#actions#test#RunInFile(0, split(globpath('**', '*Tests.cs'), ','))

I'm not at the computer right now to test but you can pass an array of filenames to OmniSharp#actions#test#RunInFile(), so you can do something like this:
:call OmniSharp#actions#test#RunInFile(0, split(globpath('**', '*Tests.cs'), ','))

Thanks @nickspoons . it's working for me .
I just changed split(globpath('', '*Tests.cs'), ',') to split(globpath('', '*Tests.cs'), '\n')


Let JavaCompile be configured using a toolchain compiler

Introduces support on the JavaCompile task to use a JavaCompiler from a specific JavaToolchain.
See JavaCompileToolchainIntegrationTest for basic supported usescases. At this point, the wiring is still explicit, conventions for toolchain/toolchain spec on java {} is one of the next steps.
Also includes a supplier for the current VM to be a valid toolchain.

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@bot-gradle test QF

OK, I've already triggered QuickFeedback build for you.

@bot-gradle test this

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.

@eskatos Sorry but I had to revert back to using the Codec.kt approach you suggested as one of the services cannot be moved to tree scope. Shall I create an issue for that to resolve this somehow differently?
@ljacomet As discussed, moved back to the approach that is working to unblock us. Can you give it another look? Had to rebase as well due to TC changes

@bmuskalla thanks for giving it a try, yes an issue on gradle/gradle would be helpful, we can't keep adding stuff there, we must come up with a lower ceremony way of doing this.

@bot-gradle test RFM

OK, I've already triggered ReadyForMerge build for you.


Always makes unwanted http requests to API, instead of using existing recording

When I rerun acceptance tests, my recordings are updated every time. It seems to me like the expiresIn option is not working. Am I missing anything obvious here w.r.t adding the config ?
I am using the "@pollyjs/ember" version 2.3.1 ember addon to use pollyjs in my ember app.
I have the following config entry in my ember-cli-build.js
pollyjs: {
      enabled: EmberApp.env() !== 'production',
      expiresIn: '30d5h10m',
      server: {
        expiresIn: '30d5h10m',
        keepUnusedRequests: false
      }
    }

Entry from package.json:
{
...
  "@pollyjs/ember": "^2.3.1",
...
}

Environment
Node.js v10.15.0
darwin 18.2.0
ember-cli: 3.7.0
node: 10.15.0
os: darwin x64

@shankarsridhar do the request id's change from each run of the acceptance tests? The ids can be found in the recorded har file under entries[{ _id: '1234abcd'}]. If not, try removing the expiresIn config option. If that fixes it, then I can try to figure out why expiresIn is not working as expected.

@offirgolan, Thanks for the suggestion.
New Object gets created under log.entries array, every time I rerun my acceptance test. I removed the expiresIn config option. But still I'm seeing the same issue.

@shankarsridhar the configuration options you've set in the ember-cli-build.js file are for the configuration of the addon itself as well as the express server middleware that we attach. Instead you want to add the configuration option when calling setupPolly.
setupPolly(hooks, { expiresIn: '10days' })

New Object gets created under log.entries array, every time I rerun my acceptance test. I removed the expiresIn config option. But still I'm seeing the same issue.

This might be due to having some dynamic headers like dates or uuids that are different everytime you run your tests. You would need to mess around with the matchRequestsBy config.

Thanks @offirgolan I played around with the config option to setupPollyand I was able to get it working like I wanted.
In case you are curious, this was the config that worked for me:
setupPolly(hooks, {
    mode: 'replay',
    expiresIn: '30days',
    matchRequestsBy: {
      headers: false,
      url: {
        pathname: false,
        query: false,
        hash: false
      }
    }
  });

Np! Glad it worked out 😄


Inserting an whole number as a double results in a Int32 field of an entity

Which service(blob, file, queue, table) does this issue concern?
table
Which version of the Azurite was used?
3.16.0
Where do you get Azurite? (npm, DockerHub, NuGet, Visual Studio Code Extension)
npm
What's the Node.js version?
16.3.1
What problem was encountered?
When using EntityProperty.GeneratePropertyForDouble((double?)1.0D)
the data type of the property in the table is set to Int32, and not to Double, incorrectly.
When using EntityProperty.GeneratePropertyForDouble((double?)1.1D)
the data type of the property in the table is set to Double, correctly.
Steps to reproduce the issue?
If possible, please provide the debug log using the -d parameter, replacing <pathtodebuglog> with an appropriate path for your OS, or review the instructions for docker containers:
-d "<pathtodebuglog>"

Please be sure to remove any PII or sensitive information before sharing!
The debug log will log raw request headers and bodies, so that we can replay these against Azurite using REST and create tests to validate resolution.
Have you found a mitigation/solution?
No

This was working just fine in Azure Storage Emulator prior to moving to Azurite.

Hi @jezzsantos , can you help with Azurite debug.log?

Also experiencing this issue.
Version 3.16.0
Debug log attached.
My test was as follows:

Writes entity with field called TestDouble, value of 42.1
Writes entity with field called TestDouble, value of 42
Reads 2nd entity, which is returned as 0.

Log shows it's coming back as 42 which is interesting.
Storage explorer shows first entity as Type = Double and 2nd entity as Type = Int32.
Same test works fine against azure storage account.
debug.log

Hi,
Thanks for sharing the debug log.
I tested this morning against the current main branch of Azurite on Windows 11 with nodejs version 14.15.4.
I do not see this behavior in storage explorer.
In your debug log I see that the request is for minimal metadata, using the Cosmos Table SDK:
RequestHeaders:{"host":"<IP_ADDRESS>:10002","accept-charset":"UTF-8","maxdataserviceversion":"3.0;NetFx","accept":"application/json; odata=minimalmetadata","dataserviceversion":"3.0;","x-ms-client-request-id":"2cbbab00-06db-455d-8e9e-bd85866bfce8","user-agent":"Azure-Cosmos-Table/1.0.8 (.NET CLR 6.0.3; Win32NT 10.0.22000.0)"
which means that the data-type for the double value is not returned, and we return without the '.0' suffix.
{\"odata.metadata\":\"http://<IP_ADDRESS>:10002/devstoreaccount1/$metadata#TestTool/@Element\",\"odata.etag\":\"W/\\\"datetime'2022-03-18T07%3A47%3A59.9140000Z'\\\"\",\"PartitionKey\":\"GenericReadWriteTest\",\"RowKey\":\"a18e5cb5-d0f6-4e47-a1a8-7fb6ff5e4609\",\"TestDouble\":42,\"Timestamp@odata.type\":\"Edm.DateTime\",\"Timestamp\":\"2022-03-18T07:47:59.9140000Z\"}

I shall look to make Azurite return the point in the double value, as the SDKs are using this to determine entity value type.
That should resolve this issue.

I think I'm getting this on Azurite 3.19.0. It seems that azurite stores the row without metadata
"TotalHolidays": 26,

Then when I change the type in storage explorer it adds this to the json
<EMAIL_ADDRESS>"Edm.Double",

And when the table is queried it returns 0, is this the same issue?

I'm getting the same issue in c# using Microsoft.Azure.Costmos.Table library, running azurite in docker.  Double with .0 is being saved as int32 and being returned as 0 instead of the correct double value.
Tried setting tableClient.DefaultRequestOptions.PayloadFormat = TablePayloadFormat.JsonFullMetadata; but makes no difference.

Any update on this issue? We encountered it today on version 3.26.0.

Hi @JohnDoeKyrgyz ,
Which SDK are you using when encountering the issue? Could you help to share a repro?
I tried to repro the issue with .Net SDK with code like:
using Azure.Data.Tables;

var serviceClient = new TableServiceClient(
    new Uri("http://<IP_ADDRESS>:10002/devstoreaccount1"),
    new TableSharedKeyCredential("devstoreaccount1", "Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw=="));

var tableClient = serviceClient.GetTableClient("anewtable123456");
tableClient.CreateIfNotExists();

var entity = new TableEntity("partitionKey1", "rowKey1");
entity.Add("key1", 54.000);
tableClient.AddEntity(entity);
foreach(var tableEntity in tableClient.Query<TableEntity>(filter: $"PartitionKey eq 'partitionKey1'"))
{
    Console.WriteLine(tableEntity.PartitionKey);
}

Got following response for the query entity request:
{"odata.metadata":"http://<IP_ADDRESS>:10002/devstoreaccount1/$metadata#Tables/@Element","value":[{"odata.etag":"W/\"datetime'2023-10-16T06%3A20%3A57.7124880Z'\"","PartitionKey":"partitionKey1","RowKey":"rowKey1","key1":54.0,"Timestamp":"2023-10-16T06:20:57.7124880Z"}]}
From the response, the issue should have been fixed.

Hi @EmmaZhu,
Thanks for taking a look at this. I was using this, https://www.nuget.org/packages/FSharp.Azure.Storage/, which uses the old https://www.nuget.org/packages/Microsoft.Azure.Cosmos.Table/ package.
Good to know that the issue appears to be fixed.

Hi @EmmaZhu ,
I tried with REST apis without any SDK and I am still seeing this issue in Azurite. Here are the sample requests and responses between Azurite, Storage Emulator and Azure Storage. Running latest Azurite and latest node.js (20.9.0)
PUT http://<IP_ADDRESS>:10002/devstoreaccount1/billing(PartitionKey='f-0-20231114T044500Z',RowKey='foo')?timeout=15&sv=2018-03-28&sig=AOhz8CPbJxqpZTprwDtVQ0saPZW9iR9ENY1%2BUiTTLdg%3D&se=2025-11-14T04%3A20%3A21Z&srt=sco&ss=bqt&sp=racupwdl
Content-Type: application/json
{"Bucket":0,"UsageType":"StandardConnector","Quantity":20.0,"MeterId":"standardMeterId"}
GET
http://<IP_ADDRESS>:10002/devstoreaccount1/billing(PartitionKey='f-0-20231114T044500Z',RowKey='foo')?timeout=15&sv=2018-03-28&sig=AOhz8CPbJxqpZTprwDtVQ0saPZW9iR9ENY1%2BUiTTLdg%3D&se=2025-11-14T04%3A20%3A21Z&srt=sco&ss=bqt&sp=racupwdl
Accept:application/json; odata=minimalmetadata
Azurite response:
{
"odata.metadata": "http://<IP_ADDRESS>:10002/devstoreaccount1/$metadata#billing/@Element",
"odata.etag": "W/"datetime'2023-11-14T04%3A30%3A00.2294729Z'"",
"PartitionKey": "f-0-20231114T044500Z",
"RowKey": "foo",
"Bucket": 0,
"UsageType": "StandardConnector",
"Quantity": 20,
"MeterId": "standardMeterId",
"Timestamp": "2023-11-14T04:30:00.2294729Z"
}
Storage Emulator response:
{
"odata.metadata": "http://<IP_ADDRESS>:10002/devstoreaccount1/$metadata#billing/@Element",
"odata.etag": "W/"datetime'2023-11-14T04%3A33%3A55.14Z'"",
"PartitionKey": "f-0-20231114T044500Z",
"RowKey": "foo",
"Timestamp": "2023-11-14T04:33:55.14Z",
"Bucket": 0,
"UsageType": "StandardConnector",
"Quantity": 20.0,
"MeterId": "standardMeterId"
}
Azure Storage response:
{
"odata.metadata": "https://rarayudutestedi.table.core.windows.net/$metadata#billing/@Element",
"odata.etag": "W/"datetime'2023-11-14T04%3A43%3A59.7258572Z'"",
"PartitionKey": "f-0-20231114T044500Z",
"RowKey": "foo",
"Timestamp": "2023-11-14T04:43:59.7258572Z",
"Bucket": 0,
"MeterId": "standardMeterId",
"Quantity": 20.0,
"UsageType": "StandardConnector"
}

Thanks @rarayudu for the repro.
The issue is because this line in our code: https://github.com/Azure/Azurite/blob/main/src/table/generated/utils/serializer.ts#L150
Azurite is based on JS language, the Json parser in JS language can only recognize 20.0 as a number, it cannot tell whether it's an integer or a double.  Rewriting a Json parser maybe able to fix this issue, but requires large efforts.
There's a way to work around the issue from client side to explicit specify value's type like:
{
"PartitionKey":"partitionKey1",
"RowKey":"rowKey1",
"key1":54.0,
"key1@odata.type":"Edm.Double"
}

Thanks for taking a look @EmmaZhu. If we need to change this on our side, it would require significant changes across different layers of integration on our side and we would like to avoid those changes.
What would be the efforts to write custom parser for double values?

Hi @rarayudu , to implement a Json parser we'd need to take care of encoding and special characters and guarantee our customized Json parser has totally the same behavior with the official one beside the double parsing. There's large rate to introduce regressions. We'd tend not implement this by ourselves.
Azurite is an open-source project, you can always customize one by yourself.  If any help needed on how to build one, we'll always be available to be of your assistant.


[BUG]Windows 11 23H2 not working

QR-Code-Reader-1.1.0-x64.msi
Hi,
very nice tool.
No text is copied to the clipboard after the scan. I have tested it with several QR codes.
I have turned off the notifications for Snipping Tool.

I'm sorry to hear that.
Are you getting any notifications with an error? Have you activated the clipboard history?

I have tested version 1.1.0 in a VM under Windows 10 (22H2) and Windows 11 (23H2). The image from the QR code is always copied to the clipboard, but not the text from the QR code. Clipboard history is deactivated. I have not received any error messages.

Ok, I have a few suspicions as to where the problem lies.
A few questions:
What version of Snipping Tool are you using? Make sure that Snipping Tool is up to date.
If possible, open a Powershell window with administrator rights and execute the command [Windows.Forms.Clipboard]::ContainsImage(). Ideally, True or False should be displayed. With this information i should be able to replicate your problem.

Version: Snipping Tool 11.2312.33.0
Command Windows.Forms.Clipboard::ContainsImage() does not work *

CategoryInfo          : InvalidOperation: (Windows.Forms.Clipboard:TypeName) [], RuntimeException
FullyQualifiedErrorId : TypeNotFound

It's a bit strange. The software seems to be working again now.
If I am too fast, it first inserts an image from the clipboard. A few moments later I get the message that the text from the QR code has been recognized.
But that's okay if you know that.
The software also works after switching the clipboard history on or off.
Since switching to Windows 11, I have also noticed that the greenshot software, for example, does not always reliably save screenshots to the clipboard. Perhaps this is also a Windows problem.
Notice: I have not tested again in the virtual machine and Windows 10!

I'm glad to hear that. The Windows Clipboard API is a bit unreliable. In the last version the timing was hardcoded, which probably caused a problem on slow machines. This issue should be solved now.


Add more info about Dev Dashboard

Document has following text "This default solution writes a log to the Dev Dashboard," but there isn't a link or an explanation that tells developer what "Dev Dashboard" is or how to access it. And it in Log class (in sp-core-library) it is called "developer dashboard".

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

ID: 5a9a92b8-9e9e-e314-d549-c8e39b6bc68b
Version Independent ID: 9a905f1b-4aa8-a72d-efbd-9022bf7e331f
Content: Build your first SharePoint Framework Extension (Hello World part 1)
Content Source: docs/spfx/extensions/get-started/build-a-hello-world-extension.md
Product: sharepoint
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Thanks @mcraiha for the input. We will be releasing a new specific article addressing this request in upcoming days. Thanks for your input.


Summer 2024 update

This project hadn't been updated in some time, and things were starting to break.  This PR is a rollup of a number of such things.

These changes have been published now as gltf-tools v2.5.0.


Provisioned iops refactor

Adds INFO and DEBUG level logging to mutating operations
Defaults read_units and write_units to None, only set to 1 when creating the table.  Otherwise the existing values from DynamoDB are loaded during Engine.bind.
Drops python 3.4 support, uses 3.5+ syntax from PEP 448 -- Additional Unpacking Generalizations
Minor doc improvements:

New pattern: cross-region replication
New pattern: Column behavior extension
New pattern: minimal Marshmallow integration
User Guide: new section in Types clarifies that Bloop does no type validation

Merging this PR will also close #95.


Update machine-learning-r-csharp-normal-distribution.md

Update author

Hi @jaymathe, I'm your friendly neighborhood Azure Pull Request Bot (You can call me AZPRBOT). Thanks for your contribution!

It looks like you're working at Microsoft (jaymathe). If you're full-time, we DON'T require a contribution license agreement.

If you are a vendor, or work for Microsoft Open Technologies, DO please sign the electronic contribution license agreement. It will take 2 minutes and there's no faxing! https://cla.azure.com.

TTYL, AZPRBOT;


LEP-282: Statutory childcare bug

What
Link to story
The childcare eligibility calculator was considering only if the applicants were employed when deciding if they were eligible for childcare costs. This was missing the nuance that if either of them is technically employed but receiving only statutory sick/maternity pay, they are not eligible for childcare costs. This PR adds that check.
Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake
Github should not be reporting conflicts; you should have recently run git rebase main.
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

@starswan would you mind casting your eyes over this, when you're back, since it was only me that reviewed it?


[Bugfix] - Added custom validator for Email Pattern

Checklist

[x] I tested all changes and all related features with different users (student, tutor, editor, instructor, admin) on the test server https://artemistest2.ase.in.tum.de.
[x] Client: I followed the coding and design guidelines.
[x] Client: I documented the TypeScript code using JSDoc style.
[x] Client: I added multiple screenshots/screencasts of my UI changes
[x] Client: I translated all the newly inserted strings into English and German using neutral, gender-inclusive language

Motivation and Context

This is the follow-up PR of https://github.com/ls1intum/Artemis/pull/3553 to provide a better solution to the invalid email patterns problem.
Description

This PR adds an additional form validator to ensure that the inserted patterns are valid.
Steps for Testing

Log in to Artemis
Navigate to Organization Management
Add or edit an organization
Try to insert an invalid email pattern in the form (save button should be disabled and a message should appear)

Test Coverage

Screenshots

Thanks @FrankeLukas for the suggestion :+1:

Tested on TS2.
Tested with add / edit organization.
Patterns tested: https://ibb.co/mc2bbk1
(Patterns cross-checked with https://regexr.com/)


Allow custom table name on extended model (#396)

Add the possibility to customize the table name on extended model (#396)

Pinging this to prevent it from being marked inactive, especially since the requested changes appear to have been made.

Hey @freekmurze,
can you check if all changes I made are correct? Any feedback is always appreciate!


Squid cache deny for dstdomain list

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[x] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
[x] I have searched the existing issues, open and closed, and I'm convinced that mine is new.
[x] When the request is meant for an existing plugin, I've added its name to the title.

Is your feature request related to a problem? Please describe.
Current problem: When local cache is enabled, squid on opnsense caches everything including big one time downloads like video game updates which can easily fill the cache and therefore render it useless
Background: Lots of OS and software downloads are still delivered over HTTP and not everybody has unlimited quota or fiber from ISP making squid still relevant
Describe the solution you'd like
The ui/proxy#subtab_proxy-forward-acl should have a new acl field Donotcache (similar to Blacklist) to prevent caching for user-defined domains
Describe alternatives you've considered
None but I'm open to any workaround able to persist after reboot
Additional context
pfsense has this selective domain caching feature implemented - see https://github.com/pfsense/pfsense-packages/blob/master/config/squid/squid.inc#L764
$conf .= 'acl donotcache dstdomain "' . SQUID_ACLDIR . "/donotcache.acl\"\n";
$conf .= 'cache deny donotcache';

Workaround for anyone interested
Manually edit the template file : /usr/local/opnsense/service/templates/OPNsense/Proxy/squid.conf
acl donotcache dstdomain .steamcontent.com .xboxlive.com .epicgames.com
cache deny donotcache

Click Apply in the Web cache UI and verify the lines are added to the running squid config at /usr/local/etc/squid/squid.conf
This example will prevent caching steam, epic and xbox games downloads. Tune/add/remove the .<domains> to your needs.


update kafka sink to skip cert verification

support skip cert verification
support scram 256

(Jove Github Bot) added it to the current sprint.


ci: enable tests with go 1.19.x

The verify / lint CI workflow running golangci-lint currently fails with:
phaul/api.go:30: File is not `gofmt`-ed with `-s` (gofmt)
//Methods:
phaul/server.go:37: File is not `gofmt`-ed with `-s` (gofmt)
//

This problem has been reported in https://github.com/golangci/golangci-lint-action/issues/535
The problem occurs because, for some reason, golangci-lint is using gofmt from go 1.19. This pull request formats the code using gofmt and enables the tests with go 1.19 to resolve this problem.

Codecov Report

Merging #82 (e5f1fd9) into master (9eea1cb) will not change coverage.
The diff coverage is n/a.

 Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Implement async witx functions for a Wasmtime host

This PR is an implementation of async witx functions for Wasmtime. This is a significantly different design than what's present today for sync bindings or sync-wasm-but-actually-invoked-async bindings. Instead the support for async function in witx will spawn a "reactor task" onto tokio which manages the Store<T> and similarly manages running callbacks. The "callback ABI" is all that's implemented here at this time.
This "reactor task" takes ownership of the Store<T> from the outside and the bindings structure no longer takes &mut StoreContextMut anywhere since the caller won't have it. Instead the bindings structure communicates with the reactor task via a channel, and everything otherwise happens asynchronously. Some properties of this implementation include:

Great care is taken to handle "cancellation" correctly in Rust-futures-world where if the original request to execute wasm is dropped (the channel is disconnected) this will immediately abort any executing WebAssembly and propagate the cancellation to all callbacks as well.
If wasm is ever "interrupted" for one reason or another -- e.g. via a cancelled future or a trap -- then the entire reactor task is "torn down" which destroys the Store<T>. This cancels any other possible concurrent execution of wasm. This is intended to model kill -9 in a sense but also reflect how after a trap it's not really feasible to resume wasm execution since it's all in an indeterminate state.
Some properties of the witx async model are refined, such as:

If the completion callback is called and then a trap happens afterwards, that's translate as a trap
New "event" intrinsics were added to support cross-coroutine wakeups and the Rust guest is based on this
Coroutines are not considered "done" until all of their pending callbacks have been resolved.

Support for "synchronous" witx functions remains with Wasmtime, even when async functions are present, but due to the nature of running code in a separate task this is still exposed to the host in an async function with asynchronous communication with the reactor task.
There is a period of time that passed when the wasm calls a completion callback until the wasm has actually fully completed. This period of time is not exposed in the APIs generated for the Wasmtime host (or the JS host). Instead functions from wasm are simply exposed as async function() -> T effectively which means that if the completion callback is called significantly further before the coroutine finishes the caller of the API will not know of this.
Currently the notion of "async" in the wasmtime code generator is a bit wonky. There's a 2x2 matrix here where one axis is whether the witx function is async or not, and the other axis is whether wasmtime is configured to invoke the function asynchronously or not (using Wasmtime's async fn support natively). One gap here of async witx function invoked synchronously in Wasmtime is not supported, and if configured that way the generated code either won't compile or won't work at runtime, I didn't test this too thoroughly.

This PR continues to have no support for streams. @aturon and I are still discussing a lot of implementation details and implications, so that'll all be a separate follow-up PR.

Ok for reviewing this I'm going to tag in @aturon. We've been talking a lot about this offline and this design has changed significantly from when I first opened this to what it is here today.
@aturon for you and reviewing this I don't think it makes much sense for you to review the code generator but rather the generated code itself is probably more interesting. To that end for reviewing things I'd ask for double-checks on:

crates/wasmtime/src/futures.rs - the wasmtime host runtime helper support for async functions
crates/rust-wasm/src/futures.rs - the compiled-to-wasm runtime helper support for async functions
tests/runtime/{async_functions,async_raw}/* - tests for async functions. The exports.witx files in these directories are what the wasm must export and the imports.witx files are what the host must implement. Both of these directories also have host.ts if you're interested in peeking at the JS host implementations here.

Some other tools which might be helpful in exploring generated code:

If you run ./crates/witx-bindgen-demo/build.sh (from the root of the repo) that'll produce a static directory which is the compiled demo but with async support for wasmtime
Otherwise you can also run cargo run wasmtime --import path/to/imports.witx or similarly --export path/to/exports.witx to see the generated code. Note that in this context --import is "imported from wasm" so it's wasm-exported fucntions, and --export is "exported to wasm" which is host-provided functions that wasm can export.

Now that I think about it I think I need to update the PR description as well...

Any plans to carry on this work?
I want to play with async wasm in my pet project. And I'm thinking I could implement some poll functions at the API boundary to make this work instead of using native async bindings.
But if this could be continued, I probably may be able to test this instead. Unfortunately, I'm not familiar with the codebase enough to review or rebase this branch, though.

I'm going to close this since async as-is is being removed in https://github.com/bytecodealliance/wit-bindgen/pull/307 anyway and this is all likely to significantly change as well.


🐞[Bug]: In feedback form if all inputs filled then show thank you message.

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug
If try after fill name and email then forms submitted and show message i want to check all options are filled or not when all inputs not filled show message that please fill all the details.
Expected behavior
NA
Add ScreenShots
NA
What browsers are you seeing the problem on?
Chrome
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24 contributor
[X] I want to work on this issue

@aditya-bhaumik Please assign me this task !
Thank You !

Already there


Android Run Error

Hi,
I get this error when i try to run on android :

What went wrong:
A problem occurred configuring project ':RNSound'.

Could not resolve all dependencies for configuration ':RNSound:_debugCompile'.
Could not resolve com.facebook.react:react-native:0.12.+.
Required by:
AloPeykCourierApp:RNSound:unspecified
Could not resolve com.facebook.react:react-native:0.12.0.
Could not get resource 'https://jcenter.bintray.com/com/facebook/react/react-native/0.12.0/react-native-0.12.0.pom'.
Could not GET 'https://jcenter.bintray.com/com/facebook/react/react-native/0.12.0/react-native-0.12.0.pom'.
Connection to https://jcenter.bintray.com refused

I'm on latest react version 0.34.1
Thanks

I got a highly similar error behind a corporate (ZScaler) firewall. (Though I ran into problems way earlier - I had modified a single project Gradle config, but needed to set globally)
Just in case it helps anyone, my fix (on Windows) was to create/edit "%USERPROFILE%\.gradle\gradle.properties and add config like so:
systemProp.http.proxyHost=<Your proxy host or IP>
systemProp.http.proxyPort=<Your http proxy port>
# Typical setting:
systemProp.http.nonProxyHosts=localhost|<IP_ADDRESS>|10.*.*.*|192.168.*.*

systemProp.https.proxyHost=<Your proxy host or IP>
systemProp.https.proxyPort=<Your https proxy port>
# Typical setting:
systemProp.https.nonProxyHosts=localhost|<IP_ADDRESS>|10.*.*.*|192.168.*.*

I also had to get Java to store a Zscaler Root CA in it's 'cacerts' file with 'keystore'. That is a longer topic than reasonable here...

Thanks @peternann. @mehrshadpezeshk I'm going to close this one for now, as it doesn't appear to be related to this library specifically.


Did a git clone and there is nothing in /opt/OpenModScan

Im looking for the install script that should be in /opt/OpenModScan
Any help would get appreciated.

Hello @mitchell-pioneer. In /opt/OpenModScan there is no install script, only run program script. Do you need this script?

yes please.

omodscan.gz


Wrong board picture

I have the exact miner but my board does not look like this. I'm missing the sd card slot, JTAG and UART pins.

When buying board from Aliexpress you can select one with soldered SD card slot and JTAG, UART pins. Or you can solder them by yourself. I think that these peripherals are very helpful if your are using EBAZ4205 as Xilinx Zynq development board.

When buying board from Aliexpress you can select one with soldered SD card slot and JTAG, UART pins. Or you can solder them by yourself. I think that these peripherals are very helpful if your are using EBAZ4205 as Xilinx Zynq development board.

Thank you man. You helped a lot.


How can I find this send function

I have looked everywhere, but still couldn't find the implementation of this send function. This function is failing for no apparent reason, so I need to find the function implementation to understand what is going wrong. Thank you in advance for your guidance is very much appreciated.
Here is the line: https://github.com/godotengine/godot/blob/bbc54692c05ff6a85a6aeefbf5b9c87de91983d8/modules/websocket/websocket_peer.cpp#L101

This is for reporting bugs, please ask support questions in the other community channels instead


On Windows 11 , the terminal window does not show snap layout option when hover on the maximize/restore button

Description of the new feature/enhancement
I would like the terminal to behave like the other windows on Windows 11 that when hover on the maximize/restore button , it should show the snap layout option. thanks.

Proposed technical implementation details (optional)

Duplicated of #9443

/dup #9443


BUGFIX: Enable liveSearchCheckbox with 0 results

The problem
Some users frequently search GOV.UK by editing the URL and keeping their
choice of organisation filters in place, e.g.
https://www.gov.uk/search?q=Housing&filter_organisations[]=land-registry
However, when no results are returned for a query, the organisation filter
(land registry in the example) is still selected and it's no longer possible
to use the "Remove filters" link to easily clear them, e.g.
https://www.gov.uk/search?q=Immigration+Rules&filter_organisations[]=land-registry
What we found
The "Remove filter" is driven by the GOVUK.CheckboxFilter JavaScript.
However, when there are no results, the component is not being activated.
The fix
The bug has been fixed by updating the bounds check within the
GOVUK.search.enableLiveSearchCheckbox function to fire when there are
0 or more results.
Story: https://trello.com/c/hQqnoc4R/245-when-a-search-has-a-filter-and-no-results-the-remove-filters-link-doesn-t-work

Minor issue when testing locally: when there are no results for the search, the organisations drop down shouldn't be clickable (and change height).
Sort that and you're good.


Block reasedoper.pw

Norton Safe Web (https://safeweb.norton.com/report/show_mobile?name=reasedoper.pw):
Threat Name: PUA.JScoinminer
Location: http://static.reasedoper.pw/launcher.1.single.js

welivesecurity (A website of eset, https://www.welivesecurity.com/2017/09/14/cryptocurrency-web-mining-union-profit/):
This script calls URLs from various domains including static.reasedoper[.]pw, which hosts the JS scripts used for mining.

Sorry, just realized it has already been added. Closing.


add regression for download and filtering performance test

Get performance metric of IP/Port/TIme PCAP filtering download output

All test with a 60GB capture
[Thu Jun 30 12:48:38 2016] DownloadNULL (1G) : 43.377 sec
[Thu Jun 30 12:49:21 2016] DownloadCapInfo (1G) : 43.262 sec
[Thu Jun 30 12:49:29 2016] DownloadIPFilter (1G) : 7.821 sec (897MB)
[Thu Jun 30 13:06:30 2016] DownloadIPFilterTCPPort (1G) : 2.143 sec (51MB)

regression: remote_filter_post using file  43GB
-rw-rw-r-- 1 aaron aaron<PHONE_NUMBER>9  6月 30 13:34 capture_20160615_000000.pcap
[Thu Jun 30 14:19:53 2016] DownloadNULL (1G) : 241.594 sec
[Thu Jun 30 14:24:39 2016] DownloadNULL Compress (1G) : 286.690 sec
[Thu Jun 30 14:28:41 2016] DownloadCapInfo (1G) : 241.526 sec
[Thu Jun 30 14:33:30 2016] DownloadIPFilter (1G) : 7.013 sec ( 47MB)
[Thu Jun 30 14:35:46 2016] DownloadIPFilter compress (1G) : 7.658 sec (47MB)
[Thu Jun 30 14:37:43 2016] DownloadIPFilterTCPPort (1G) : 7.055 sec (38MB)
[Thu Jun 30 14:37:50 2016] DownloadIPFilterTCPPort compress (1G) : 7.151 sec (38MB)
[Thu Jun 30 14:54:47 2016] DownloadIPFilterUDPPort (1G) : 7.569 sec (73MB)
[Thu Jun 30 14:54:55 2016] DownloadIPFilterUDPPort compress (1G) : 7.830 sec (73MB)

regression added regression@c1da659


Utf8 issue on robotframework-metrics

I encountered an utf8 issue after the generation of my test suite metrics (126 tests).

python robotmetrics.py -email false -inputpath
"MYPATH" -output output.xml -report report.html -log l
og.html
Converting .xml to .html file. This may take few minutes...
1 of 6: Capturing dashboard content...
2 of 6: Capturing suite metrics...
3 of 6: Capturing test metrics...
4 of 6: Capturing keyword metrics...Traceback (most recent call last):
File "robotmetrics.py", line 848, in
result.visit(KeywordResults())
File "C:\Python27\lib\site-packages\robot\result\executionresult.py", line 118
, in visit
visitor.visit_result(self)
File "C:\Python27\lib\site-packages\robot\result\visitor.py", line 44, in visi
t_result
result.suite.visit(self)
File "C:\Python27\lib\site-packages\robot\model\testsuite.py", line 161, in vi
sit
visitor.visit_suite(self)
File "C:\Python27\lib\site-packages\robot\model\visitor.py", line 86, in visit
_suite
suite.suites.visit(self)
File "C:\Python27\lib\site-packages\robot\model\itemlist.py", line 76, in visi
t
item.visit(visitor)
File "C:\Python27\lib\site-packages\robot\model\testsuite.py", line 161, in vi
sit
visitor.visit_suite(self)
File "C:\Python27\lib\site-packages\robot\model\visitor.py", line 86, in visit
_suite
suite.suites.visit(self)
File "C:\Python27\lib\site-packages\robot\model\itemlist.py", line 76, in visi
t
item.visit(visitor)
File "C:\Python27\lib\site-packages\robot\model\testsuite.py", line 161, in vi
sit
visitor.visit_suite(self)
File "C:\Python27\lib\site-packages\robot\model\visitor.py", line 86, in visit
_suite
suite.suites.visit(self)
File "C:\Python27\lib\site-packages\robot\model\itemlist.py", line 76, in visi
t
item.visit(visitor)
File "C:\Python27\lib\site-packages\robot\model\testsuite.py", line 161, in vi
sit
visitor.visit_suite(self)
File "C:\Python27\lib\site-packages\robot\model\visitor.py", line 87, in visit
_suite
suite.tests.visit(self)
File "C:\Python27\lib\site-packages\robot\model\itemlist.py", line 76, in visi
t
item.visit(visitor)
File "C:\Python27\lib\site-packages\robot\model\testcase.py", line 74, in visi
t
visitor.visit_test(self)
File "C:\Python27\lib\site-packages\robot\model\visitor.py", line 108, in visi
t_test
test.keywords.visit(self)
File "C:\Python27\lib\site-packages\robot\model\itemlist.py", line 76, in visi
t
item.visit(visitor)
File "C:\Python27\lib\site-packages\robot\model\keyword.py", line 118, in visi
t
visitor.visit_keyword(self)
File "C:\Python27\lib\site-packages\robot\model\visitor.py", line 129, in visi
t_keyword
if self.start_keyword(kw) is not False:
File "robotmetrics.py", line 837, in start_keyword
table_td.string = str(kw.kwname)

UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 40:
ordinal not in range(128)

Suggested solution:
reload(sys)
sys.setdefaultencoding('utf8')
Drawbacks: https://stackoverflow.com/questions/3828723/why-should-we-not-use-sys-setdefaultencodingutf-8-in-a-py-script

you don't need to use sys.setdefaultencoding('utf8') to decode as you may be able to specify the decode type (e.g. UTF-8 when reading the file).

@bkhouri As per your suggestion I have made this change like - https://github.com/adiralashiva8/robotframework-metrics/blob/a4c0c60bd2d2e40c1b4f33f67cb13f2d7c441436/setup.py#L4
Hope this may fix this issue! Need to test (since I could not replicate this issue)

In the example you sent, I think it's overkill since the __version__.py
should be a controlled file in the repository.  Why don't you just import
the module instead?
On Mon, Sep 9, 2019 at 7:55 AM Shiva Prasad Adirala <
<EMAIL_ADDRESS>wrote:

Reopened #48
https://github.com/adiralashiva8/robotframework-metrics/issues/48.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/adiralashiva8/robotframework-metrics/issues/48?email_source=notifications&email_token=ACTIWZP2JDKKZSSJ4HUXXHLQIY2UNA5CNFSM4GFJSGYKYY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOTQIY7MY#event-2618396595,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACTIWZI4DXK4D5GJIJZG7OTQIY2UNANCNFSM4GFJSGYA
.

this issue is due to converting xml content to str() as we discussed in this thread - https://robotframework.slack.com/archives/C2U0JE1T9/p1568032459129000
I have pushed the changes to fix this issue (into master)


Add support for column indexes

We should add support for column indexes. Everything will still be indexed by time, but you'll be able to additionally index by column values. For example if you have a series:
{
  "name": "memory_used",
  "columns": ["host", "datacenter", "value"],
  "points" : ["serverA", "us-east", 2343223]
}

Later when you're doing queries, if you do select sum(value) from memory_used where host = 'serverA' it has to do a range scan to get at all of that data. Indexes would make it efficient to pull back the data.
Another possible win on indexes, is if a column is indexed, we should convert the value into a uint64, which will be more efficient to store. Note that the indexes are intended for hash lookups (i.e. =) and not range indexes.
Adding an index could look something like this:
create index memory_used_hosts
on memory_used (host)

-- or do it against a regex

create index hosts
on /.*\.h\..*/ (host)

The second example will index any series by host that has .h. in the series name. You can then create conventions around putting things in series names to have those values be indexed.
Because of the way I imagine this being implemented, you'd want to keep the total number of indexes in each DB fairly small (< 100). But only real testing will reveal what makes sense.
One other idea I heard floated for how to do this is to update the input format. Instead of specifying this as a configuration option, have a new section on ingestion like this:
{
  "name": "memory_used",
  "columns": ["value"],
  "tags": ["host", "datacenter"]
  "points" : [[2343223, "serverA", "us-east"]]
}

The idea being that tags would be automatically indexed and would be the last values in the array of a point.
This would be more efficient because we wouldn't need to worry about looking up indexes every time we write data in. Would like to hear what other people think about the two approaches.

+1 Is the tags implementation ready now? I cannot find any documentation on how to use this great feature.

+1 Too. What is the current status of this (great) feature? ^^ Thanks

Seems like we have this now @pauldix ?

Something like it. Tags in 0.9.0 should take care of this feature.

Where can I found the documentation about how to use column indexes? All influxdb pages comes to here


Measure time spent waiting for read-write locks and possibly optimize some common hot-spots (e.g. symbol table)

We should measure how much time we spend waiting on read-write locks and possibly optimize some common hot-spots. For example symbol table lookups are on the hot path for flow graph building, so we should investigate whether we can have optimistic lock-free lookups there.
/cc @aam

Closing this in favor of https://github.com/dart-lang/sdk/issues/46252


Hello! What can I help you?

Hello! I want to create simple framework for react app. What do you do here?

This is a php-written simple framework.
This framework reads data from api(s), and then fill data into templates to enable server side rendering.
By doing these, you can keep your apis separate from your pages rendering.
Unlike common PHP frameworks such as Symfony and Laravel, it does not tweak into the main api framework router to enable http access to pages.
This is quite different from the react framework. React app framework is a pre-designed project structure which is reproducable.


[Question] Can we use New-DbaDatabase to create a database with multiple data file in Primary group ?

I have tested the different parameters but it's failed.
for example, i would like to create a database DB1 with db101.mdf and db102.ndf  with same file group Primary. but it looks failed
Do your guys have any clue for that ?

I think the only way to fix this is to create database with TSQL......

Yes the command should support creating a database with multiple files in both primary and secondary file group. However the way it is written does not allow for the primary file group to have multiple, but also has a bug on creating multiple files in a secondary file group (it doesn't actually create the file group).
If you want to submit a bug report with the details required someone can take a look at it.

Yes the command should support creating a database with multiple files in both primary and secondary file group. However the way it is written does not allow for the primary file group to have multiple, but also has a bug on creating multiple files in a secondary file group (it doesn't actually create the file group).
If you want to submit a bug report with the details required someone can take a look at it.

I would like to try to adjust the code , could you tell me where i need to change ? i found function new-dbadatabase in all_commands.ps1 and new-dbadatabase.ps1 .  i tried debug and it lead me to all_commands.ps1 , then should i change the code in all_commands.ps1 only ?

You can check out contributing guide if you would like to submit a PR to address the bug.
We combine all the function ps1 files into all_commands.ps1 for the version of the module that we publish to the PowerShell Gallery. To debug the code would be easiest to pull down the repository and work on the individual function file itself.


Msra vs Xavier

I've noticed the only difference between the default resnet50_1by2 and your implementation (besides the number of classes) is the change from weight_filler mrsa to xavier, and bias filler from constant to xavier in the InnerProduct layer.
Was there a reason for that change? Maybe the small number of classes? Did it make a big difference?

I am assuming default resnet501by2 is the one mentioned here.  The initialization while finetuning does not make much difference while finetuning since only the params of last layer (FC_nsfw) are initialized , and rest are loaded from pretrained model.  Effect of initialization while training on imagenet is more significant and you can refer to corresponding papers for more details


Multiple frame piercing does not work

determineElement was not doing frame piercing correctly.
This is used in:
Take Screenshot,
Execute Javascript,
Wait For Function,
Get Bounding Box

I was thinking same thing when I am doing #1243, but I think it might work for some keywords. I think keywords using waitUntilElementExists frame piercing does not work. For keywords using  invokePlaywrightMethod they might work.
Also I think it means that element reference does not work for all keywords and I recall seeing that some user have complained this problem in slack.

https://github.com/MarketSquare/robotframework-browser/pull/1266

https://github.com/MarketSquare/robotframework-browser/pull/1266


Update traefik v1.2.3

Remove temporary fixed version (#15) because of a bug in traefik

I would suggest to keep a fixed version to avoid issues like that in the future.

Ok I update to last 1.2.x branch so. The next version will be 1.3.x.

LGTM

LGTM


downgrade kafka-clients from 3.5.2 to 3.5.0

@pminz Please create a "Component Upgrade" ISPN jira for this and add it as a prefix to the commit message.

@ryanemerson  Changing the version downstream.
Will close the PR.


SW-6305 Added new deal name column and backfill with participant or application data

Added new deal name column and backfill with participant or application data
Added deal name to project accelerator details as a variable

#2646  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Mtcnn with multiple faces

Hi, first of all great work! I'm working on Jetson nano and your implementation is the best I've seen for frontal face detection.But I have an issue (not sure if you can help), but I'm trying to do a face recognition using your mtcnn as a face detector, but sometime when I launch he can't see more than one or two faces at the time:

But some other time it works perfectly fine :

Between the two pictures I've just stopped and restarted the same program without making any modification.
Can you help me with this ? Thx
I've didn't modify your code related to the mtcnn, I just use mtcnn.detect() in my code

I think you are facing a known issue as described here: https://github.com/jkjung-avt/tensorrt_demos/issues/313#issuecomment-787648496
Please try to use a different version of TensorRT (don't use <IP_ADDRESS>).

Thx you for your response ! Will try soon


Receive UDP datagrams only from the robot ip

UDPServer, UDPClient should both receive only datagrams from robot's ip/port combination (currently only port)

on port, only from robot ip


Build error during felt_windows.bat build with clean tree

Tree is clean.  I suspect the dart.exe may be in use when ninja is trying to overwrite it?
I've built using ninja -C out/host_debug_unopt just before this.  This is with flutter/engine@48d7091649fe975122ce30478f2fc71def298cd5.
C:\src\engine\src [master ↓18043 ↑348]> .\flutter\lib\web_ui\dev\felt_windows.bat build -w
"Running \`pub get\` in 'engine/src/flutter/web_sdk/web_engine_tester'"
Resolving dependencies...
Got dependencies!
"Running \`pub get\` in 'engine/src/flutter/lib/web_ui'"
Resolving dependencies...
Got dependencies!
Running gn...
Generating GN files in: out\host_debug_unopt
Generating Visual Studio projects took 290ms
Done. Made 686 targets from 237 files in 5544ms
Running ninja (with default ninja parallelization)...
ninja: Entering directory `C:\src\engine\src\out\host_debug_unopt'
[1/1] Regenerating ninja files
[48/172] COPY dart.exe dart-sdk/bin/dart.exe
FAILED: dart-sdk/bin/dart.exe
C:/Users/Study/Documents/chromium/depot_tools/bootstrap-3_8_0_chromium_8_bin/python/bin/python.exe gyp-win-tool recursive-mirror dart.exe dart-sdk/bin/dart.exe
Traceback (most recent call last):
  File "gyp-win-tool", line 323, in <module>
    sys.exit(main(sys.argv[1:]))
  File "gyp-win-tool", line 29, in main
    exit_code = executor.Dispatch(args)
  File "gyp-win-tool", line 71, in Dispatch
    return getattr(self, method)(*args[1:])
  File "gyp-win-tool", line 105, in ExecRecursiveMirror
    os.unlink(dest)
WindowsError: [Error 5] Access is denied: 'dart-sdk/bin/dart.exe'
[52/167] LINK ./testing_unittests.exe

I dug a little bit into this the other day, but hadn't yet found the failing command.  If you have theories @stuartmorgan or @nturgut I'd certainly welcome them. :)  I'll keep debugging as I'm still not able to get a working web_ui hacking setup on windows and this seems like the next-most obvious error to tackle. :)

Here is the log from my most recent felt_windows.bat build -w run in case it's useful: https://gist.github.com/eseidel/5827ed7110c10f2ad0181d396079f93e

Oddly enough I think my manual ninja builds were running clean earlier today.  I think this indicates that the dart in question is in use (not yet sure by what).

I will have a look into this, thanks for filing the issue @eseidel
LUCI Tests are using this file to build Flutter for Web on Windows. (note: unit tests are not running now) Since latest PR is passing: https://ci.chromium.org/p/flutter/builders/try/Windows Web Engine/5492
I guess this is a local only issue.

I believe the problem is that felt_windows.bat uses the dart.exe in host_debug_unopt to execute and then also as part of the build command tries to replace it.  My understanding is that on windows you can't overwrite a file while it's open for execution.  You can do some sort of dance whereby you move/rename the file and then write a new one.  But I think the real fix here is probably to have felt use a different version of the Dart SDK.
My understanding was the engine had some sort of bootstrapping SDK it used in scenarios like this?  @chinmaygarde would know.

We invoke ninja from the .bat file itself, so there shouldn't be any dart processes running. However, dart.exe may be used by something else.

@eseidel sorry I only had time to look at this one today.
I wasn't able to produce the issue though the dev\felt_windows.bat build --watch worked for me with no warnings/errors. I run the command line with admin permission when building the engine. Can you please have another look when you have time?

Without additional information, we are unfortunately not sure how to resolve this issue.
We are therefore reluctantly going to close this bug for now.
Please don't hesitate to comment on the bug if you have any more information for us; we will reopen it right away!
Thanks for your contribution.


Update Set-DbaAgListener

Change pipeline parameter to AvailabilityGroupListener, matching
Get-DbaAgListener output in example
Only pass Listener parameter to Get-DbaAgListener if exists
Update messages

Type of Change

[x] Bug fix (non-breaking change, fixes #7257 )
[ ] New feature (non-breaking change, adds functionality, fixes # )
[ ] Breaking change (effects multiple commands or functionality, fixes # )
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] If new file reference added for test, has is been added to github.com/sqlcollaborative/appveyor-lab ?
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Purpose
Allow Set-DbaAgListener to update an Availability Group listener port without errors.
###Approach
The major change is to ensure the InputObject is an AvailabilityGroupListener not an AvailabilityGroup
Commands to test
Examples in the help

There is probably better way to manage the "optional" Listener parameter than the if/else option but that was as far as my skills got me.   I'd be interested to know if there are alternatives - I was trying not to change the associated Get-DbaAgListener as well.

Thank you so much for contributing to dbatools! My apologies for the delay. I'll test the code this weekend and merge 🥳

This is a breaking change, but one that I agree with, as it better aligns with the spirit of the command. Thanks again, @CarrieAnne!


usm: include gRPC server in system-probe

What does this PR do?

Adds support for a gRPC server using a Unix socket in the system-probe module.
Includes the introduction of a GetConnections function.

Motivation
Include the gRPC server in system probe for the improvement of system probe and process agent communication.

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes
In order to enable feature you need to add the current flags to system-probe and process-agent:
grpc_enabled : true
Then just create some traffic in order to send real connections.
Validate that the connections was received successfully.

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

At a high-level, how is this handling the enrichment that is/was happening in process-agent prior to batching?

At a high-level, how is this handling the enrichment that is/was happening in process-agent prior to batching?

I thoroughly tested it to ensure that my modification did not create any negative impacts. The main focus was on altering only the batching segment while keeping the enrichment part unchanged. I tried to avoid from modifying any logic related to the enrichment process and confirmed that the output remained consistent.

@hush-hush we introduced a change in pkg/util/grpc/server.go, can you review again?

Reminder - eliminate all code related to the configuration of the configuration socket path.

you need to merge main to solve the lint errors
furhtermoe the licenses_linting is failing