Logic for configuring the WordPress service appears to be missing password-propagation to MySQL

Issue description
The logic for configuring the WordPress service appears to be missing the functionality to properly configure the new MySQL database for the WordPress instance when the option 'services.wordpress...database.createLocally' is configured as 'true'.
Specifically, the logic to configure the new MySQL database that the WordPress instance needs to be able to access seems to be missing the functionality to propagate its database password (specified via the option 'services.wordpress...database.passwordFile').
This results in the WordPress error screen "Error establishing a database connection" when visiting the WordPress instance with a web browser, as the MySQL service will reject the WordPress instance's attempt to access its database with the configured password.
The logic that propagates just the MySQL database user when 'createLocally' is 'true' is here -- https://github.com/NixOS/nixpkgs/blob/724ed08df02546fea2ab38613d615dd47461528c/nixos/modules/services/web-apps/wordpress.nix#L284
But there does not seem to be corresponding logic for the password.
Steps to reproduce
(1) Specify the following configuration for 'services.wordpress' in 'nixos/configuration.nix':
...
...
services.wordpress."mysite.mymachine" = {
database = {
host = "<IP_ADDRESS>";
name = "wordpress";
passwordFile = pkgs.writeText "wordpress-insecure-dbpass" "mypassword";
createLocally = true;
};
virtualHost = {
adminAddr = "admin@mymachine";
serverAliases = [ "mysite.mymachine" ];
};
};
...
...
(2) Run command 'nixos-rebuild switch'.
(3) Open web browser and visit http://mysite.mymachine
The screen "Error establishing a database connection" will appear.
(4) Start mysql console as root user with 'mysql'.
(5) Enter command 'show databases;'.  List of databases will appear.
(6) Enter command 'use mysql;'.  This will switch to the database MySQL uses to keep track of allowed "users" and their passwords.
(7) Enter command 'select User, Password from user;'.  Observe that the 'wordpress' "user" does not have a password.  (This configures MySQL to allow access to the Unix user 'wordpress' without a password; however, the 'httpd' instances started to run the WordPress site are running under a different Unix user 'wwwrun'.)
Technical details
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

system: "x86_64-linux"
host os: Linux 5.4.114, NixOS, 20.09.4064.1b688ca59ba (Nightingale)
multi-user?: yes
sandbox: yes
version: nix-env (Nix) 2.3.10
channels(root): "nixos-20.09.4064.1b688ca59ba"
nixpkgs: /nix/var/nix/profiles/per-user/root/channels/nixos

The intention of createLocally is to only work with socket authentication. Why would you use a comparatively insecure authentication method (password) when you could use a secure one (socket authentication)?

To explain, I am experimenting spinning up a WordPress site with a Nix configuration, and got confused by the 'passwordFile' option.
Appreciate the tip, understand that the correct configuration is actually this:
...
...
services.wordpress."mysite.mymachine" = {
database = {
host = "localhost";
name = "wordpress";
socket = "/run/mysqld/mysqld.sock";
createLocally = true;
};
virtualHost = {
adminAddr = "admin@mymachine";
serverAliases = [ "mysite.mymachine" ];
};
};
...
...

Close? @maratbn

Oh, nevermind there is an open PR

Hi @mohe2015,
Sorry, I bumped into this issue several months ago, and submitted the simple PR https://github.com/NixOS/nixpkgs/pull/125329 that needs to be redone based on the feedback.
I also recall that when I started testing the socket authentication, it was not working each time in the way I expected, which led me to suspect that there may be another bug involved.  I wanted to understand what was happening first before submitting additional PRs, but unfortunately as I started investigating a bunch of high priority issues diverted my attention.
So still planning to investigate, but it may be a while.
As far as this bug report goes, understand that only socket authentication is supported, but if so, then why is there the passwordFile option?  If authentication via the password file is not supported then this option should be removed.  Or is password authentication still supported, but just not for creating a fresh database?  If so, what is the point of supporting password authentication in one mode but not in another?

Hi @mohe2015,
Sorry, I bumped into this issue several months ago, and submitted the simple PR #125329 that needs to be redone based on the feedback.
I also recall that when I started testing the socket authentication, it was not working each time in the way I expected, which led me to suspect that there may be another bug involved. I wanted to understand what was happening first before submitting additional PRs, but unfortunately as I started investigating a bunch of high priority issues diverted my attention.
So still planning to investigate, but it may be a while.
For now closing this bug report as my main question has been answered and what I was specifically asking about does not appear to be a bug.

P.S.  Still planning to spend more time to understand this logic and the proper way to use it.  Will file additional bug reports if I find something specific that's not working right after I completely understand it.


Documentation Enhacement - Upgrade ORDS v3.0.9 via OXAR installation to v18.3

I propose a new document/section on the github page of OXAR that has specific information about upgrading to Oracle ORDS (release 18.3 in this example)
This is not using patches that requires any kind of support, this is by downloading the current version available for download.
These are the steps I followed and have upgraded my ORDS installation from version v3.0.9 to v18.3
No issues whatsover.
Note: All commands must be run as root
pm2 stop node4ords
systemctl stop tomcat@oxar
cd ~
mkdir ords183
cd ords183
wget https://www.dropbox.com/s/9rqvkqaclfe8mpv/ords-<IP_ADDRESS>0.1456.zip
unzip ords-<IP_ADDRESS>0.1456.zip
cd /var/lib/tomcat/webapps
mv ords.war ords.war.309
rm -rf /var/lib/tomcat/webapps/ords/*
cp /root/ords183/ords.war /var/lib/tomcat/webapps
unzip ords.war -d ords
chown -R tomcat:tomcat ords

Run the install of ORDS and answer the prompts, with a vanilla OXAR you should only be prompted for the config directory and SYS password:
java -jar ords.war install advanced

This Oracle REST Data Services instance has not yet been configured.
Please complete the following prompts

Enter the location to store configuration data:/etc

Verify ORDS schema in Database Configuration apex with connection host: localhost port: 1521 sid: xe

Retrieving information.
Requires SYS AS SYSDBA to verify Oracle REST Data Services schema.

Enter the database password for SYS AS SYSDBA:
Confirm password:

Retrieving information.
Upgrading Oracle REST Data Services schema <IP_ADDRESS>8.07.16 to version 18.3.0.r2701456
... Log file written to /root/ords_upgrade_2019-04-26_152715_00068.log
... Upgrading ORDS schema to 18.3.0.r2701456
Completed upgrade for Oracle REST Data Services version 18.3.0.r2701456.  Elapsed time: 00:00:19.461

Enter 1 if you wish to start in standalone mode or 2 to exit [1]:2

Now start tomcat and while its running configure the configdir. (for some weird reason it only worked while running, maybe a bug?).
Then start node4ords and you're done!
systemctl start tomcat@oxar
java -jar ords.war configdir /etc
pm2 start node4ords

Last step is to cleanup:
cd ~
rm -rf ords183

Note:
Seems ORDS leaves some views with errors or at least on a weird state, the log shows errors like this:
WARNING: ORA-04063: view "ORDS_METADATA.UNIFIED_POOL_CONFIG" has errors
java.sql.SQLException: ORA-04063: view "ORDS_METADATA.UNIFIED_POOL_CONFIG" has errors

Check the views owned by ORDS_METADATA schema and if there are some views with errors, validate to have them fixed.
For me I just run the following and works/fix the issue always:
cd /var/lib/tomcat/webapps
java -jar ords.war validate --database apex

Requires SYS AS SYSDBA to verify Oracle REST Data Services schema.

Enter the database password for SYS AS SYSDBA:
Confirm password:

Retrieving information.

Oracle REST Data Services will be validated.
Validating Oracle REST Data Services schema version 18.3.0.r2701456
... Log file written to /root/ords_validate_core_2019-04-26_203740_00175.log
Completed validating Oracle REST Data Services version 18.3.0.r2701456.  Elapsed time: 00:00:08.26

Update 2020-07-03:
I just want to share with everyone I just used the same steps for upgrading ORDS 18.3 to 19.2
Note: I had to validate ORDS after I installed APEX 20.1 That took care of all invalid views.


HSEARCH-1812 Document how to get the SearchIntegrator

https://hibernate.atlassian.net/browse/HSEARCH-1812

I've updated the documentation and added the backquotes where missing in a separate commit

Reopend...I've pressed the wrong button

Re-based and merged


Feedback for Personalized Offers

The sequence of steps is not clear. It seems someone has rushed to create these diagrams but didn't think through how it will look to someone who has started new.
I think we should have two diagrams

What's happening before the model is put into the production server. ML and previous usage history helped build the model.

When it put in production:
We have the following steps

Azure function gets triggered per user and sends the information to Queue

Queue sends information to Another Azure Function which applied the model and finds of personalized offer and sends it back to the user

How Stream Analytics fits in here is confusing? Perhaps live data first goes through stream analytics and then An Azure function gets triggered if it fits a certain condition.

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

ID: 831d2c33-e3c1-f325-57af-b97c8b12d4ff
Version Independent ID: 66882a3f-18d9-8aa4-9b3e-6c8e428a17cb
Content: Personalized Offers - Azure Solution Ideas
Content Source: docs/solution-ideas/articles/personalized-offers.md
Service: architecture-center
Sub-service: solution-idea
GitHub Login: @adamboeglin
Microsoft Alias: pnp

Thanks for reporting - this issue is under review.  This is a Microsoft Internal DevOps Bug ID AB#233004

@maloyhalder thanks for creating the issue.  A more detailed implementation and a commentary on the architecture is found at https://github.com/Azure/azure-ai-personalized-offers.  Hope this answers your questions.


[shutdown] Error in atexit._run_exitfuncs

When running bigchaindb with the command bigchaindb start and interrupting the process with CTRL-C, the following error shows up:
$ bigchaindb start
# ...
# ...
# ...
# CTRL-C
^CError in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/multiprocessing/popen_fork.py", line 29, in poll
    pid, sts = os.waitpid(self.pid, flag)
KeyboardInterrupt
[2017-03-12 23:29:25 +0000] [34] [INFO] Handling signal: int

Related links
Listing a few links just in case it may be useful:

Python docs: signal, atexit, multiprocessing
http://stackoverflow.com/questions/9139127/why-is-my-threading-multiprocessing-python-script-not-exiting-properly#9143486
http://stackoverflow.com/questions/2546276/python-process-wont-call-atexit#2546397
http://stackoverflow.com/questions/39884898/large-amount-of-multiprocessing-process-causing-deadlock
http://stackoverflow.com/questions/19652446/python-program-with-thread-cant-catch-ctrlc
http://stackoverflow.com/questions/37692262/python-multiprocessing-assertionerror-can-only-join-a-child-process

Noteworthy
Quoting Martin Sústrik (original architect and lead developer of ØMQ), in http://aosabook.org/en/zeromq.html (thanks to @krish7919 for the link):

It turns out that shutting down a fully asynchronous system in a clean way is a dauntingly complex task. Trying to shut down a thousand moving parts, some of them working, some idle, some in the process of being initiated, some of them already shutting down by themselves, is prone to all kinds of race conditions, resource leaks and similar. The shutdown subsystem is definitely the most complex part of ØMQ. A quick check of the bug tracker indicates that some 30--50% of reported bugs are related to shutdown in one way or another.
Lesson learned: When striving for extreme performance and scalability, consider the actor model; it's almost the only game in town in such cases. However, if you are not using a specialised system like Erlang or ØMQ itself, you'll have to write and debug a lot of infrastructure by hand. Additionally, think, from the very beginning, about the procedure to shut down the system. It's going to be the most complex part of the codebase and if you have no clear idea how to implement it, you should probably reconsider using the actor model in the first place.

@sbellem can you give a bit more context.
Its hard to know what this issue is about.

I'm not sure if this issue is still relevant but it was part of the old "Shut Down Procedure" project so I reopened it so that we look again.

Does not seem to be reproducible anymore. Reopen if you reproduce it.


get_users in PasswordResetView

This is not really an issue but small improvement, I'm not sure what the reasoning is behind using "get_users" (plural) instead of "get_user" (singular)?
This assumes that multiple users can have the same e-mail address.
I'm not sure if that would be a typical use case, I don't think it is.
Another case is if there is a custom User model that uses the e-mail address instead of the username, and the e-mail address must be unique.
I think in both situations, default should be assumed one user can have one e-mail address.
This is in reference to the code for "PasswordResetView":
    def action(self, serializer):
        for user in self.get_users(serializer.data['email']):
            self.send_email(**self.get_send_email_kwargs(user))
        return response.Response(status=status.HTTP_200_OK)

    def get_users(self, email):
        active_users = User._default_manager.filter(
            email__iexact=email,
            is_active=True,
        )
        return (u for u in active_users if u.has_usable_password())

a change to just:
    def action(self, serializer):
        users = User.objects.filter(email__iexact=serializer.data['email'], is_active=True)#or get()
        if users.exists():
            user = users.first()
            if user.has_usable_password():
                self.send_email(**self.get_send_email_kwargs(user))
        return response.Response(status=status.HTTP_200_OK)

or set "user" on the serializer after validating e-mail and statuses is_active and has_usable_password()
    def action(self, serializer):
        self.send_email(**self.get_send_email_kwargs(serializer.user))
        return response.Response(status=status.HTTP_200_OK)

Hi @apokinsocha, thank you for your question.
This "architecture" is copy-pasted from original django.contrib.auth.forms.PasswordResetForm, it looks like this:
class PasswordResetForm(...):

  def get_users(self, email):
      """Given an email, return matching user(s) who should receive a reset.

      This allows subclasses to more easily customize the default policies
      that prevent inactive users and users with unusable passwords from
      resetting their password.
      """
      active_users = get_user_model()._default_manager.filter(
          email__iexact=email, is_active=True)
      return (u for u in active_users if u.has_usable_password())

  def save(self, ...):
      """
      Generates a one-use only link for resetting password and sends to the
      user.
      """
      email = self.cleaned_data["email"]
      for user in self.get_users(email):
          (...)

TBH, I also don't know why they are returning generator instead of single user. Does "easily customize" (from docstring) refers to existence of get_users method or is it excuse for returning generator? Is it easier to filter collection instead of extend simple if statement? I don't know. But this is what we found in Django and we are trying to handle this in a similar way.
Do you think this is a good reason to leave it as it is or should we simplify it? Let me know.

I'm not quite sure either now that you've brought up it was taken from django.
while "get_users" doesn't really make sense for the use cases I've implemented, I guess it doesn't make a difference if more than one user will have the same e-mail address, it will simply send the same e-mail more than once.


refactor: sync the organization name with legal name

Codecov Report

Merging #486 (d66cc55) into main (24d2125) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #486   +/-   ##
=======================================
  Coverage   46.94%   46.94%
=======================================
  Files         233      233
  Lines       11673    11673
  Branches      608      608
=======================================
  Hits         5480     5480
  Misses       5234     5234
  Partials      959      959

Continue to review full report at Codecov.

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


Sessions after a canceled session are rejected automatically

Describe the bug
All the invites after a canceled one are rejected automatically (sip.js@0.15.6).
Canceled sessions don't seem to update the Simple instance status like they do on termination.
The snippet that rejects the invite based on the state.
https://github.com/onsip/SIP.js/blob/ed5a6ce738379eb9c79aa9c41b1b1cf716b893d4/src/Web/Simple.ts#L132
Browser Logs
Mon Oct 28 2019 14:43:48 GMT+0000 (Western European Standard Time) | sip.invite-dialog | INVITE dialog a3f03e4dcd3d635d7a7c067bac9214443421-pivotcallvb10715mvnje5QevHe63Z1j constructed
Mon Oct 28 2019 14:43:55 GMT+0000 (Western European Standard Time) | sip.inviteservercontext | closing INVITE session a3f03e4dcd3d635d7a7c067bac9214443421-pivotcallje5QevHe63Z1j
Mon Oct 28 2019 14:43:56 GMT+0000 (Western European Standard Time) | sip.invite-dialog | INVITE dialog a3f03e4dcd3d635d7a7c067bac9214443421-pivotcallvb10715mvnje5QevHe63Z1j destroyed
Mon Oct 28 2019 14:44:13 GMT+0000 (Western European Standard Time) | sip.invite-dialog | INVITE dialog 498c646f28e60771c1b45992481122487578-pivotcallev3vqs5m3opjaUN8mvt7rcH constructed
Mon Oct 28 2019 14:44:13 GMT+0000 (Western European Standard Time) | sip.simple | Rejecting incoming call. Simple only supports 1 call at a time
Mon Oct 28 2019 14:44:13 GMT+0000 (Western European Standard Time) | sip.inviteservercontext | rejecting RTCSession
Mon Oct 28 2019 14:44:13 GMT+0000 (Western European Standard Time) | sip.inviteservercontext | closing INVITE session 498c646f28e60771c1b45992481122487578-pivotcallpjaUN8mvt7rcH
Mon Oct 28 2019 14:44:13 GMT+0000 (Western European Standard Time) | sip.invite-dialog | INVITE dialog 498c646f28e60771c1b45992481122487578-pivotcallev3vqs5m3opjaUN8mvt7rcH destroyed

SIP MESSAGES
https://gist.github.com/yarcub/54168155690b40642048f78b1fe82b07
To Reproduce (if possible)
Steps to reproduce the behavior:

Receive an invite
Cancel the invite
Receive an invite

Expected behavior
The ringing event handler would be called.
https://sipjs.com/api/0.15.0/simple/#ringing
Observed behavior
The invite is automatically rejected
Environment Information

Chrome 78.0.3904.70

Additional context

@john-e-riordan is currently updating Simple. We will make sure this is covered.

I've confirmed the port of Simple to SimpleUser which is built on the new API code does not have this issue. SimpleUser is currently in #757 along with demos which use it and associated ongoing work.

This is fixed in the new SimpleUser of 0.15.7.


Clear button not reseting value, Today not selecting today's date

I have downloaded the latest stable build zip version (4th of June, 2015), and am having problems with the Clear button as well as selecting today's date; they simply do not work. This issue is in the date.htm, and I have not yet edited anything in the code.
It appears only to be happening in Chrome and Firefox, while working perfectly in IE.
Even though closeOnSelect: and closeOnClear both are set to false, they close the datepicker when selecting "Today" or "Clear" without changing the value.
Anyone know what the issue might be?

There was an issue with jquery. Switched from jquery.1.7.1.js to jquery.1.9.1.js, and it works just fine


Cannot find name 'jsdom'

hello simon
In my project jest-environment-jsdom-global can run normally，
But jslint will prompt me 'Cannot find name 'jsdom'
my tslint version is "^5.10.0",should i ignore this waring?

Hm, strange one. I've only used eslint, but actually, the behavior you're describing is what I would have expected to happen there, too.
Since I haven't used tslint before, I'm not sure what the solution is. Ignoring may be the best option.
Open to any suggestions or PRs on this, though!

Add this line will solve this problem
declare var jsdom: any
But this is not an elegant solution

Another solution is to refer to global.jsdom, rather than jsdom. Again, though, this lacks elegance.

@QuantumInformation this isn’t on my radar right now, but I’d love to see a pull request!

FYI, for others that have experienced this issue, we fixed this by declarimg JSDOM in our globals.d.ts file like this:
import { JSDOM } from 'jsdom';

declare global {
  namespace NodeJS {
    interface Global {
      jsdom: JSDOM;
    }
  }
}

For more information on the globals file: https://www.typescriptlang.org/docs/handbook/declaration-files/templates/global-d-ts.html

import { JSDOM } from 'jsdom';

declare global {
  namespace globalThis {
    const jsdom: JSDOM;
  }
}


Document agentless scanning setup via bicep

From what I was able to research, I crafted this bicep to enable agentless scanning:
targetScope = 'subscription'

resource agentlessScanning 'Microsoft.Security/VmScanners@2022-03-01-preview' = {
  name: 'default'
  properties: {
    scanningMode: 'Default'
    exclusionTags: {}
  }
}

// Microsoft Defender for Cloud Servers Scanner Resource Provider
var principalId = '34d1b39e-c9b4-4cf8-b39d-6ca5a42f84ef'
// VM Scanner Operator
var roleDefinitionID = 'd24ecba3-c1f4-40fa-a7bb-4588a071e8fd'
// BUG: When setup via Azure Portal you will get a random GUID
var roleAssignmentName = guid(principalId, roleDefinitionID, subscription().id)

resource agentlessScanningRoleAssignment 'Microsoft.Authorization/roleAssignments@2022-04-01' = {
  name: roleAssignmentName
  properties: {
    principalId: principalId
    principalType: 'ServicePrincipal'
    roleDefinitionId: resourceId('Microsoft.Authorization/roleDefinitions', roleDefinitionID)
  }
}

Additionally i recognized that Azure Portal creates the guid of the role assignment randomly. This is against common best practice. A role assignment should have a deterministic name. For bicep this means, it will not be possible to avoid collisions/ duplications of the role assignment, if configuration is changed with bicep and Azure Portal.

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

ID: 915d132c-1a21-ff6b-4f9e-bcc895c8a387
Version Independent ID: 71073dec-0c92-a023-d779-5af89d21adfa
Content: Find software and vulnerabilities with agentless scanning - Microsoft Defender for Cloud
Content Source: articles/defender-for-cloud/enable-vulnerability-assessment-agentless.md
Service: defender-for-cloud
GitHub Login: @bmansheim
Microsoft Alias: benmansheim

@pho-enix
Thanks for bringing this to our attention.
I'm going to assign this to the document author so they can take a look at it accordingly
@bmansheim
Can you please check and add your comments on this doc update request as applicable.

#reassign:dcurwin

@pho-enix Thanks for your contribution. We're working on a plan to integrate Bicep content in our documentation in the future, and will reference your suggestion in this plan.
#please-close


Design changes

Description
suggestive design changes
https://scaffold-eth-2-hoiqgn74n-didis-projects-84614ef4.vercel.app/debug
Additional Information

[ x] I have read the contributing docs (if this is your first contribution)
[ x] This is not a duplicate of any existing pull request

Your ENS/address:
0x38EC561a8921bA8F38c5eF1304a033Ee2F386de6

Hey @mac11fish  I appreciate the effort on this.
But we plan to do a redesign in the future with the design team that is behind SE-2 that has all the context. Sorry to close this :( I could have told you before all the work if you had opened an issue/discussion.
If you want to keep going with the Cohorts re-design, you could follow up with https://owners.buidlguidl.com/
Thanks!!


WIP: Event Calendar

What issue is this referencing?
This is referencing #312. Currently a work in progress.
I was unsure about creating a new "Calendar" link at the top of the page, or if this should be added to the bottom/top of the "Events" page.
Any tips or feedback would be greatly appreciated!

Do these code changes work locally and have you tested that they fix the issue yourself?

[x] yes! (For the most part, still a WIP. 😄 )`

Does the following command run without warnings or errors?

[x] yes! npm run pr-checks

Have you taken a look at our contributing guidelines?

[x] yes!

My node version matches the one suggested when running nvm use?

[x] yes!

I am currently working on implementing the new API that @dgmouris added with #343.
However, I ran into this CORS error when attempting to fetch data from the API:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://devedmonton.com/api/events. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing). Status code: 200.
@dgmouris is there a fix you can make on the server side for this?

Just worked with @keifererikson to get his environment working locally on a test account to get around this CORS issue.

@dgmouris I wonder if this is any help for the cors issue, maybe we could try it

@dgmouris I wonder if this (see the cors section) is any help for the cors issue, maybe we could try it
update: I test it and it works 🥳

Hey @arashsheyda I just took a look and it looks good to me so I think we should merge it so that @keifererikson can work with better data :)

Awesome! Thanks for the quick fix on that one @arashsheyda and @dgmouris!
It's working on my end now! 😄

The code looks good to me! Thanks again @keifererikson for putting so much effort in!
I am so excited to have this on the site!
The deploy preview you should be able to see. You can click "details" on this line item:

It's not rendering for me so I am wondering what command you use to run locally? Netlify uses npm run build which then involves another command npm run start so I never use it while building locally but I am wondering if that's what is causing the rendering issues?

Oh also, about the header, we can probably remove the "events" tab and squish it in with the meetup tab (or something) but that can be a later problem, like after you merge :)
Great work!

Hi @MandyMeindersma! It appears I am having some difficulty figuring out how Nuxt wants me to handle useFetch/useLazyFetch.  (You'll have to forgive me, I'm still pretty green with all of this. 😳) It's not rending for me unless I refresh the page... which is interesting. I have some more work to do that's for sure!
I was going to actually ask your opinion on how you would like the header to be handled! We could put the calendar either above or below the events on the Events page, or like you mentioned, put the Event and Meetup pages together! I'm not sure what the  optimal approach would be.

Oh the refresh does work for me! It looks great. I love the dialog and everything.
I like your idea of adding the calendar to the events page! Add it at the top. :)

@keifererikson this is a great work, thank you!
a hint about Nuxt fetching is that Nuxt fetch works on ssr too, so you don't need to asign the fetched data to another ref
and for transforming the data you can use transform method
const { pending, data } = await useLazyFetch('https://devedmonton.com/api/events', {
transform: (data) => {...},
})

On refresh this works for me too, once that's fixed I'd be down to merge this and see what happens!
Awesome job @keifererikson :)

Oh yeah! The only other weird thing that is happening for me (but idk it might not be happening for other people cause I am on a different time zone) there seems to be an off by one error on the days of the week? Like the month view is fine but when I go to the week view there are wednesdays events on thursdays and tuesdays event son wednesdays

@MandyMeindersma I noticed that as well! Turns out it's a known issue with the vue-cal package. (See the issue here: https://github.com/antoniandre/vue-cal/issues/505) There is a PR that resoles the issue, but has yet to be merged. For the meantime I can disable the start-week-on-sunday as that will resolve the error for now.

I think I've made some changes to make the Modal.vue component more reusable! (Using a slot and onClickOutside)
I've been struggling to get useVModels/useVModel to work though. I'm not sure if I understand it entirely. I've read through the docs but I keep hitting snags.
I'm not sure if I should be configuring it on the Calendar.vue component, or the Modal.vue component. I've tried both, but have been unsuccessful. If you have any further tips @arashsheyda on how to approach this that'd be amazing!

@keifererikson thanks, looks great!
just one thing, we could use the footer part in modal and wrap it in name slots, it's not necessary though, jsut a thought:
<slot name="footer">
        <div class="flex items-center p-4 border-t border-gray-200 rounded-b dark:border-gray-600">
          <button
            type="button"
            class="duration-300 transition-all hover:bg-gray-200/30 dark:hover:bg-transparent border border-transparent rounded-lg bg-primary text-white px-3 py-1 hover:border-primary hover:text-primary flex items-center"
            @click="emit('close')"
          >
            Close
          </button>
        </div>
      </slot>

so the footer is always there by default and if we didn't want it or wanted to change the style, we can use <template #footer>...</template> in the AppModal

you don't have to use the useVModel I just added that there for information. but if we were to use it would look like something this:
first we want to replace show-model & @close in Calendar.vue with v-model (I love v-model so much hahaha): <AppModal v-model="showEventModal">

you get more info about how it works here

then in the Modal.vue compoennt:
import { useVModel } from '@vueuse/core'

const props = defineProps<{
  modelValue: boolean
}>()

const modal = useVModel(props, 'modelValue')

const modalRef = ref()

onClickOutside(modalRef, () => {
  modal.value = false
})

v-model by default is modelValue, but you can use other things, for example if you wanted to have a open prop but as v-model, you would write it like this:

// Calendar.vue
<AppModal v-model:open="showEventModal">

// Modal.vue
const props = defineProps<{
  open: boolean
}>()

...other things

feel free to ask any question, I'd be happy to help!
and sorry if I made you confused & didn't explain well 😄

Wow, I appreciate your time and help with all of this @arashsheyda!
That's a great idea with the Modal footer! I've made that change. 😄
What the heck, v-model is awesome! That makes it so much easier hahaha. I appreciate the tip on that one! So many cool things to  learn that can make my life so much easier. LOL.
 Hahah. 🥲
But if you think it is at a releasable point I can mark the PR as ready for review! Thanks for all your help @MandyMeindersma @dgmouris and @arashsheyda !

@MandyMeindersma I agree with you and @keifererikson I think it's time to remove "WIP" from the title as this should definitely be merged, props to you on this hard work!
As well I definitely learned a few things here @arashsheyda thanks for this!

great work everyone! and thanks

I pressed the button, did some reading but honestly worried I may have caused bad consequences.  It failed because it's using an old Node v18.  Is this related to #336?

I don't intend to single-out anyone (and GitHub is to blame for this product confusion: draft PRs are not free for private repos) but they've an "official" way to mark something as WIP, so it's not accidentally merged: https://github.blog/2019-02-14-introducing-draft-pull-requests/

here is the error from the logs: The engine "node" is incompatible with this module. Expected version "^18.18.0 || ^20.9.0 || >=21.1.0". Got "18.17.0" I think 20.x would be good to use...
and to change the node version: https://github.com/devedmonton/DES-Website/blob/main/.nvmrc I was hoping someone would do it in the pr-athon but it's still open
also I saw in the deploy details it's using yarn instead of npm? (sorry I'm not familiar with netlify's building process either so I have no idea about this 😄 )

For the WIP comment, I'm not sure what you are meaning with it, but this was a draft PR originally! I changed it to open just a couple days ago. If I'm misunderstanding something please let me know!

Oops, my apologies, I made an incorrect assumption.  I thought GitHub shows when someone "un-drafts" a PR but I guess not!

No problem! It looks like this is the not-very-descriptive way github tells us. Hahah.

@ajyong I totally blanked and forgot about this when I suggested to @keifererikson my bad! Setting it as draft is way better.

WIP in the title, or a wip label are the "natural workarounds" I've seen out there, but none prevent accidental merges. I don't intend to single-out anyone (and GitHub is to blame for this product confusion: draft PRs are not free for private repos) but they've an official way to mark a PR as WIP: https://github.blog/2019-02-14-introducing-draft-pull-requests/

#349
Sorry 😢

@allcontributors add @keifererikson for code and @arashsheyda for reviews

@allcontributors add @keifererikson for code

@allcontributors add @keifererikson for code

@allcontributors add @arashsheyda for reviews


https support

It would be handy if this had https support :)
Would it make sense to move the backend to https://github.com/scality/S3?
Would you accept a pull request for such?

Hi @sublimator
Thanks for your suggestion.
Your idea is great and I agree with you.
Of course, if you send me a PR, I will accept it !

Ok, if I find the time :)
I was recently informed about ‘localstack’ by atlassian so will evaluate
that before undertaking the task.
Have you any experience yourself with localstack?

I know localstack too but I have not used it.
I think localstack is the best solution for production grade large scale project.
By the way, I think serverless-s3-local is suited for tiny project such as a couple of apis and S3.
If you are going to develop large system, I recommend you use localstack !
Of course, your PR is welcome anytime :)

Yeah, I would rather rely on simple things I know not to try and do
anything too fancy with than something that tries but fails to actually
replicate production environment. I'm a bit skeptical about localstack to
be honest. AWS should contribute to it or something like it really!

I had a little play with scality s3, and it's a bit more complicated, requiring messing with configuration of https, and even secret keys, and working around self signed https issues in the aws-sdk.
e.g.
function specialAgentAllow()
{
  const agent = new https.Agent({
    // changed to false, different from the default one
    rejectUnauthorized: false //
  });

  // delegate maxSockets to globalAgent
  Object.defineProperty(agent, 'maxSockets', {
    enumerable: true,
    get: function() { return https.globalAgent.maxSockets; }
  });

  return agent;
}

// TODO: s3 offline plugin doesn't work with https://
const params = process.env.IS_OFFLINE? {
  endpoint: 'https://localhost:' + process.env.LOCAL_S3_PORT,
  httpOptions: {agent: specialAgentAllow()},
  s3ForcePathStyle: true

Currently I just patched my node_modules/ version of your plugin to use similar self signed cert work arounds, and using noStart option ...
Hrmmm ...


Feature Request

Have you considered creating a minimal gui for TagUI?
Something like the "Robot-Executor" for robot framework?
https://pypi.org/project/robot-executor/
Thank you for your hard work. TagUI is worth supporting.

Hi @christiankaye there a Microsoft Word plugin for this, but other than that there isn't a GUI.


New version: TinyCraft.TinyRDM version 1.1.8

[X] Have you signed the Contributor License Agreement?
[X] Have you checked that there aren't other open pull requests for the same manifest update/change?

[ ] Have you tested your manifest locally with winget install --manifest <path>?
[X] Does your manifest conform to the 1.5 schema?

Microsoft Reviewers: Open in CodeFlow

/AzurePipelines run


Fix f-string error in the constructor of OptimizationResult

Summary
Fix an f-string typo in the constructor of OptimizationResult.
Details and comments
In qiskit_optimization/algorithms/optimization_algorithms.py:138, the "f" in the f-string is misplaced.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 1 (0.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 92.19%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit_optimization/algorithms/optimization_algorithm.py
0
1
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4332

Relevant Lines:
4699

💛  - Coveralls

Yes, it's not critical. I remove stable backport.


Document bulk loading secp keys in AWS for eth1 mode

Document bulk loading secp keys in AWS for eth1 mode. New CLI options:

--aws-kms-enabled
--aws-kms-auth-mode
--aws-kms-access-key-id
--aws-kms-secret-access-key
--aws-kms-region
--aws-endpoint-override
--aws-kms-tag-names-filter
--aws-kms-tag-values-filter
--aws-connection-cache-size

See https://github.com/Consensys/web3signer/pull/889 for more information.

Have added options and am waiting for some guidance from @usmansaleem on the following:
The Azure Key Vault docs for Web3Signer indicate:
Register Web3Signer as an application by authenticating to Azure Key Vault
Add signing key in Azure Key Vault
Set of values to take note of to use in Web3Signer
I’m not sure how to map this exactly to AWS KMS but my best guesses are:
Register Web3Signer as an application by authenticating to AWS KMS
Create key policy for the signing key
Take note of the following to use in Web3Signer: AWS Access Key ID and AWS KMS secret access key.
If you could let me know what I’ve got wrong, or needs adding to my AWS KMS guesses, that’d be great thank you.


Add keyboard shortcut to messages

What kind of shortcut keys are necessary? for example, when pressed n on the /messages, show a modal to create a private message?

It would be nice to have a shortcut to navigate to /messages.
Another feature that I would find handy would be the ability to pull up the New Private Message as a modal like the New Post modal, from anywhere.

Fixed on a80ffa7c0a24a268c84b085a97dd64f68d1bcc39


Enhancement: use stdout for output and stderr for messaging

Now that we control the CLI's output, we should consider adjusting how we print output and use stdout exclusively for command's output, while use stderr for all verbose and debug messages, warnings, deprecation messages etc. This will be a massive effort, but one that will significantly improve the user-experience.

We could go about the implementation in two ways:

Extend the existing Logger.log(message: any) method with an additional argument that determines whether the message should be passed to stdout or stderr, eg. Logger.log(message: any, output: Output = Output.stdout)
Extend the Logger interface with a new method specific for output that should be redirected to stderr, eg. Logger.stderr(message: any)

Which one would be clearer to use?
Regarding the refactoring, if I'm not mistaken, option 1 would have less refactoring impact, as we'd need to change the signature of mock loggers in all tests with the new argument. For option 2, we'd need to extend mock loggers with the extra method and logic.
Which one would have your preference @pnp/cli-for-microsoft-365-maintainers? Any other options that you see?

Looking at the two options I would prefer to add an additional method to the Logger interface, Logger.stderr(message:any), as this is more explicit and I would find it easier to read when skimming through code as to where the messages are heading. With using optional args it is hard to know what the defaults are.

I'll pick this up together with #1823. I'm getting some side-effects from the refactoring, which we can address by introducing stderr and redirecting debug logging to stderr rather than stdout which is formatted by default due to changes in #1823.


connect to FTP host without SSL

I have a issue to connent to FTP host without SSL.
it needed to  be set a addition parameter:
set ftp:ssl-allow $PLUGIN_SSL_ALLOW;
francoishill and harriswan9a have a sotution:
https://github.com/francoishill/drone-ftps/blob/master/upload.sh#L41
https://github.com/harriswan9a/drone-ftps/blob/master/upload.sh#L41
would your extend the plugin like this?

May I ask why you want to connect without SSL?
SSL is cheap (self or Letsencrypt)

some webhoster not supports SSL for FFT and in there is no options to change the behavior. the SSL connect may be exist, but can have the root access of the server. I must use another pluguns, because your plugin fails.
it would be nice, if your plugin support trannsfer without SSL too.

I can confirm that the plugin works without SSL by using secure: false, see here:
https://github.com/LawnchairLauncher/lawnchair.info/blob/master/.drone.yml#L6

See https://lftp.yar.ru/lftp-man.html for documentation.
I still stand by my point that SSL should be used for transfers on the web.
You can use my plugin with common FTP but there's a reason why I set the default value for secure to true.

for me cschlosser/drone-ftps fails with error:
mirror: Fatal error: Certificate verification: unable to get local issuer certificate (C2:5D:5B:C0:2F:6E:5E:2F:9A:BB:79:1D:19:E4:1E:42:84:C9:20:DE)
but hwan9/drone-ftps or francoishill/drone-ftps works fine.
    image: cschlosser/drone-ftps # SSL Error!
#    image: hwan9/drone-ftps
#    image: francoishill/drone-ftps

    hostname: ftp.host.cc:21
    username: user
    secrets: [ ftp_password ]

    secure: false
    ssl_allow: false

@servusoft you are using it wrong, username is a secret now.

same behavior with ftp_username as secret:
    image: cschlosser/drone-ftps # SSL Error!
    hostname: ftp.host.cc:21
    secrets:
     - ftp_username
     - ftp_password

    secure: false

I think, the hosting provider not support SSL and it can only be overrun with
SSL_ALLOW=false and set ftp:ssl-allow $PLUGIN_SSL_ALLOW;
like https://hub.docker.com/r/hwan9/drone-ftps/

From what I can gather from your info is that your hosts FTP server configuration is broken.
The host accepts secure connections but the certificate provided is invalid (missing intermediate cert, expired, ...).
You should contact your host about this problem.
Regardless I will add your requested option because insecure is insecure anyway.

I think, the hosting provider not support SSL (FTPS) and it can only be overrun with
SSL_ALLOW=false and set ftp:ssl-allow $PLUGIN_SSL_ALLOW; like

I am running the plugin and connecting to a ProFTP server without SSL and it works for me, what does your hoster exactly use?

@divadsn
my provider is https://www.netcup.eu/hosting/
I create a FTP test account:
host: hosting10923.af93d.netcup.net
user: ftp21
pass: divadsn
and test it on image: cschlosser/drone-ftps
with secure: true I get:
mirror: Fatal error: Certificate verification: subjectAltName does not match ‘hosting10923.af93d.netcup.net’ (C2:5D:5B:C0:2F:6E:5E:2F:9A:BB:79:1D:19:E4:1E:42:84:C9:20:DE)
with secure: false it works fine. big thanx to  @christophschlosser !
one more option would be to use a (wrong configured) SSL certificat,
but the verifycation error wiil be suppressed:
https://serverfault.com/questions/411970/how-to-avoid-lftp-certificate-verification-error

with secure: true I get:
mirror: Fatal error: Certificate verification: subjectAltName does not match ‘hosting10923.af93d.netcup.net’ (C2:5D:5B:C0:2F:6E:5E:2F:9A:BB:79:1D:19:E4:1E:42:84:C9:20:DE)

So your hoster accepts and uses secure connections, but it rather fails on checking the certificate.
Unlike on my setup, I have secure connections disabled and my FTP server isn't asking the client to use a secure connection, while on your hosters that's the case why it failed.

@servusoft Never post username and password combinations on the internet.
Suppressing invalid certs or connecting without security is essentially the same.
Even though I fixed this, please contact your hoster and demand a reason why his FTP config is broken. If he does‘t provide one, I highly advice to switch your hoster.

@christophschlosser: about user and pass I am aware.
the FTP root was not in  the/httpdocs folder, there are no security hole.
the test account is now deleted.
the invalid certs may be an security issue, but with transfer  over SSL there is significantly fewer attack options.
I have a valid LE certeficat for my web, but the FTP server on my hoster uses ProFTPD with a wildcard certeficat like  CN=*.provider.net.
I thing the most hoster uses a separate FTP server and its not possible to configute the SSL certs from all customer for all hosted domains. with another hoster I have possible the same issue.
I crete a new issue, for me it works  fine:
https://github.com/christophschlosser/drone-ftps/issues/3


Support for universal apps

If you have an app that is already supported by Apple silicon, you can use it.
If there are apps that are already compatible with Apple silicon,
please make it possible to automatically determine the CPU and automatically install and update apps with the appropriate architecture.

I don't Have an example of an app that needs this, but in case there is, this ca be put inside the label in the case statement:
    if [[ $(arch) == "arm64" ]]; then       downloadURL=http://URL/arm     elif [[ $(arch) == "i386" ]]; then       downloadURL=http://URL/intel     fi
So for these special cases we do not need anything from Installomator.

We have worked on dev 0.5. Several software labels have the arch-check to differentiate between arm and intel. There is no strict rule used. Som developers offers the universal version as something special for M1, where the intel-version is default, some just offers the universal version default. Some have different versions for intel and arm. Some even differentiate the version numbers between these.
As far as Installomator is concerned it just installs the software in the downloadURL.
See the labels: vlc, googlechrome etc. This is also mentioned in the README.
If you encounter software, that are missing, please let us know. I will go ahead and close this now.
Thank you!


Swiper Element / Svelte / two row infinite smooth autoplay loop issue

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/p/sandbox/hg2ydd
Bug description
Good day,
i am trying to set up the swiper with two rows, and just loop them smoothly and infinitely.
this is the current set-up:
<swiper-container 			space-between={spaceBetween} 			centered-slides={false} 			direction="horizontal" 			loop={true} 			free-mode={true} 			loopAddblankSlides={false} 			speed={1000} 			infinite={true} 			grid={{ 				rows: 2, 				fill: 'row' 			}} 			autoplay={{ 				delay: 0 			}} 			freeMode={true} 			breakpoints={{ 				320: { 					slidesPerView: 3, 					spaceBetween: 30 // Consistent space for simplicity 				} 			}} 			pagination={{ 				el: '.swiper-pagination' 			}} 			rewind={false} 		> 			<swiper-slide>Slide 1</swiper-slide> 			<swiper-slide>Slide 2</swiper-slide> 			<swiper-slide>Slide 3</swiper-slide> 			<swiper-slide>Slide 4</swiper-slide> 			<swiper-slide>Slide 5</swiper-slide> 			<swiper-slide>Slide 6</swiper-slide> 			<swiper-slide>Slide 7</swiper-slide> 			<swiper-slide>Slide 8</swiper-slide> 		</swiper-container>
This does not work as intended - it pauses a bit after each change, and then continues. I would like to have a continuous slider that simply scrolls right to left infinitely.
Thank you for your help.
Expected Behavior
No response
Actual Behavior
No response
Swiper version
"swiper": "^11.1.1"
Platform/Target and Browser Versions
macOs Google Chrome
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

closing this due because no-one was able to help


Make filter uri less brittle

What
This makes filter_uri behave the same way as Rails' filter_parameters by parsing the uri string back into a format that can be used with ParameterFilter.
Why
As Jimmy's filter_uri depends on Rails' filter_parameters, it behaving in a different way is confusing and could potentially see us under or over filtering without noticing.

 Ensure redaction of PII in logs


The result of sampling is away from the theoretical

As the pictures in the file, the result of sampling in each scale has deviated from the theoretical value. (red dot: theoretical, box: sampling result) Here, I used Bochum's data, which has a 5-min resolution and with theta read from the file 5Y_1_Theta.csv.
Archive.zip

@Pei4579 The problem had been solved. Please check the dev1 branch


Update email signup with new design

https://trello.com/c/mk5M2aKD/619-general-design-and-stylistic-updates-to-signup-workflow
Please see the commits for more details.
Before

After

Thanks for looking at @kevindew - I agree it's less of a visual relic now! I think I've addressed your comments too, if you can take another look?

I'm confused by the after 404 is a user ever going to see that?

I'm confused by the after 404 is a user ever going to see that?

@gavinwye no, it's OK - they'll see the GOV.UK standard 404 page. In general, we should avoid custom 404 pages unless it's a predictable scenario where we could actually help the user. In this case, we've got no evidence of that, and the previous page wasn't doing anything to help the user, so there's no harm in removing the snowflake.

@gavinwye no, it's OK - they'll see the GOV.UK standard 404 page. In general, we should avoid custom 404 pages unless it's a predictable scenario where we could actually help the user. In this case, we've got no evidence of that, and the previous page wasn't doing anything to help the user, so there's no harm in removing the snowflake.

Okay, I didn't understand that was what was happening here.
All looks good to me.


navigationController.push animation

I've tried to make hero transition in pushing controller into a navigation and i'd love to know if there's a way because it doesn't work with me at all, thanks

AFAIK that's not officially supported by now.

Set isHeroEnabled to true on your UINavigationController(or self.navigationController)

Some documentation about the would be very helpful.

@martnst It is mentioned in the FAQ section on the readme. And also in the Usage Guide Page

Solved by enabling hero on the UINavigationController, thanks all


[FEATURE] Schedule Task

Resolves #2.
@rwjblue this is just a quick implementation with some test cases. I want to get your feedback first before I continue.

[x] scheduleTask implementation
[x] Test cases
[ ] How to handle Ember < 2.8
[ ] Documentation

@mixonic - Mind reviewing for API thoughts here?
@offirgolan:

How to handle Ember < 2.8

We could feature detect and monkey patch 😝.
(function() {
  let cancelationToken = Ember.run.schedule('afterRender', () => {});
  if (cancelationToken === undefined) {
    Ember.run.schedule = function(/* queue, target, method */) {
      Ember.assert(
       `You have turned on testing mode, which disabled the run-loop's autorun. ` +
        `You will need to wrap any code with asynchronous side-effects in a run`,
        Ember.run.currentRunLoop || !Ember.testing
      );

      return Ember.run.backburner.schedule(...arguments);
    };
  }
})();

@rwjblue that works for me. Should we make this into a separate polyfill addon since this is something that will be need by machty/ember-concurrency#121?

I have use for this, and it seems like something that'd be useful to others as well. What's the current status? Can I help in any way?

Likely needs a rebase at least...

Woot woot!


New rule for ForEach-Object -Parallel that helps users pinpoint problems with their variable scoping

Summary of the new feature
In response to questions seen on Twitter, like this one: https://twitter.com/_bateskevin/status/1225536662769405952?s=20
As a PowerShell 7 user, I would like to be warned when I use variables incorrectly with ForEach-Object -Parallel, so I don't have to wonder why I get an error related to a non-initialized variable.
Example with incorrect variable usage:
$myVar = 10
1..2 | ForEach-Object -Parallel {
    $myVar | Get-Member
}

I would like PSScriptAnalyzer to warn me that $myVar is not going to work. (I need to use $using:myVar)
Proposed technical implementation details (optional)
A quick proof of context:
function Test-ForeachParallelWarningForNonAssignedNonUsingVars {
    param(
        $script
    )

    if ($script -is [scriptblock]) {
        $ScriptBlocks = $script.Ast.FindAll( {
            $args[0] -is [System.Management.Automation.Language.ScriptBlockAst]
        }, $true)
    }
    else {
        $ScriptBlocks = [scriptblock]::Create($script).Ast.FindAll( {
            $args[0] -is [System.Management.Automation.Language.ScriptBlockAst]
        }, $true)
    }

    foreach ($ScriptBlockAst in $ScriptBlocks) {
        $foreachObjectParallelCommandAst = $ScriptBlockAst.FindAll( {
            $args[0] -is [System.Management.Automation.Language.CommandAst] -and
            $args[0].GetCommandName() -match "^foreach$|^%$|^foreach-object$" -and
            $args[0].CommandElements.ParameterName -like "pa*"
        }, $false)

        foreach ($parallelCommandAst in $foreachObjectParallelCommandAst) {
            $assignments = $parallelCommandAst.CommandElements.FindAll({$args[0] -is [System.Management.Automation.Language.AssignmentStatementAst]}, $true)
            $varsInAssignments = $assignments | ForEach-Object { $_.Left.FindAll( { $args[0] -is [System.Management.Automation.Language.VariableExpressionAst]}, $true)}

            $nonAssignedNonUsingVars = $parallelCommandAst.CommandElements.FindAll({
                    $args[0] -is [System.Management.Automation.Language.VariableExpressionAst] -and
                    -not ($args[0].Parent -is [System.Management.Automation.Language.UsingExpressionAst]) -and
                    $varsInAssignments -notcontains $args[0]
                }, $true)

            return $nonAssignedNonUsingVars
        }
    }
}

## tests
Describe "Test-ForeachParallelWarningForNonAssignedNonUsingVars" {
    Context "Should detect something" {
        $testcases = @(
            @{
                Description = "Foreach-Object -Parallel with undeclared var"
                ScriptBlock = {
                    1..2 | ForEach-Object -Parallel { $var }
                }
            }
            @{
                Description = "alias foreach -parallel with undeclared var"
                ScriptBlock = {
                    1..2 | ForEach -Parallel { $var }
                }
            }
            @{
                Description = "alias % -parallel with undeclared var"
                ScriptBlock = {
                    1..2 | % -Parallel { $var }
                }
            }
            @{
                Description = "abbreviated param Foreach-Object -pa with undeclared var"
                ScriptBlock = {
                    1..2 | foreach-object -pa { $var }
                }
            }
            @{
                Description = "Nested Foreach-Object -Parallel with undeclared var"
                ScriptBlock = {
                    $myNestedScriptBlock = {
                        1..2 | ForEach-Object -Parallel { $var }
                    }
                }
            }
        )

        it "should emit for: <Description>" -TestCases $testcases {
            param($Description, $ScriptBlock)
            Test-ForeachParallelWarningForNonAssignedNonUsingVars $ScriptBlock | Should -Be "`$var"
        }
    }

    Context "Should not detect anything" {
        $testcases = @(
            @{
                Description = "Foreach-Object with uninitialized var inside"
                ScriptBlock = {
                    1..2 | ForEach-Object { $var }
                }
            }
            @{
                Description = "Foreach-Object -Parallel with uninitialized `$using: var"
                ScriptBlock = {
                    1..2 | foreach-object -Parallel { $using:var }
                }
            }
            @{
                Description = "Foreach-Object -Parallel with var assigned locally"
                ScriptBlock = {
                    1..2 | ForEach-Object -Parallel { $var="somevalue" }
                }
            }
            @{
                <# Not implemented #>
                Description = "Foreach-Object -Parallel with built-in var '`$Args' inside"
                ScriptBlock = {
                    1..2 | ForEach-Object { $Args[0] } -ArgumentList "a" -Parallel
                }
            }
        )

        it "should not emit anything for: <Description>" -TestCases $testcases {
            param($Description, $ScriptBlock)
            Test-ForeachParallelWarningForNonAssignedNonUsingVars $ScriptBlock | Should -BeNullOrEmpty
        }
    }
}

What is the latest version of PSScriptAnalyzer at the point of writing
1.18.3

I think your tests are missing a case for assigning $var inside the scriptblock and then referencing it (should not error)

@felixfbecker thank you, added a test :-)
The code needs to be redone in C# completely (to be able to reuse parts from https://github.com/PowerShell/PSScriptAnalyzer/blob/master/Rules/UseDeclaredVarsMoreThanAssignments.cs), and needs refactoring and optimizing, but it shows a way to handle this particular case.

You could publish this as a custom rule, which can be written in PowerShell. Otherwise, I'd rather create a new rule to keep it separate from UseDeclaredVarsMoreThanAssignments

I was hoping to generate some built-in user egducation through a rule like this.

I think a rule like this definitely belongs into core PSScriptAnalyzer, as it can be immensely useful in catching errors before execution. Especially in the scenario where you're trying to parallelize a ForEach-Object that was sequential before, it's hard to catch all the variables that need to be changed. This problem doesn't apply as much to the other cases, because there is no direct "migration" scenario.

Maybe this new rule should be applied to a couple of cmdlets/parameter pairs.
@Jawz84 Do you plan to open a PR? Let me know if you need to some help/guidance. The prototype looks ok but I in C# we need to be a bit stricter and cannot just use matching to find the cmdlet name, It would rather be a case insensitive comparison against the cmdlet and its known alias

Yes, I might, but it will have to wait until next week. I am also keeping an eye on https://github.com/PowerShell/PowerShell/issues/11811
I think detection at develop time is best, but not everyone uses psscriptanalyzer, so detection at runtime is good too.
If you have tips for me to consider before I give it a try next week, please let me know. I love to learn.

In terms of tips: The ShowPSAst is useful for showing the AST.
Although you can just use code and the command line for most development, if you want to add resource strings (the ones in the .resx files), then you need to either use VisualStudio (which will update some auto-generated code, which are the *.Designer.cs files) or otherwise manually add the entries in *.Designer.cs (this is a deficiency of .net core)
Just follow the instructions in the readme around installing the correct .net core sdk and latest version of platyps module. Then you can build the module using ./build.ps1 (or use the -All` switch to build the full module for all ps versions). When running tests locally, you cannot use the integrated ps terminal in code because it already has PSSA loaded...
You can develop using either powershell core or windows powershell, there is not advantage or disadvantage to either of them.
I suggest you use one of the existing rules and just copy paste the .cs file as a starting point. You can open a draft PR early even if it's just rough work.

Thanks Christoph. Working on it.


AttributeError: 'NoneType' object has no attribute 'shape'

Traceback (most recent call last):
File "pre_process_kitti.py", line 163, in
main(args)
File "pre_process_kitti.py", line 140, in main
kitti_train_infos_dict = create_data_info_pkl(data_root, 'train', prefix, db=True)
File "pre_process_kitti.py", line 58, in create_data_info_pkl
image_shape = img.shape[:2]
AttributeError: 'NoneType' object has no attribute 'shape'
Kindly help me in this issue.

Hello @jyothsna-phd22, please check the if img_path exists.
https://github.com/zhulf0804/PointPillars/blob/b9948e73505c8d6bfa631ffdf76c7148e82c5942/pre_process_kitti.py#L56

same problem


Github Markdown formatting issues

When an image or a link was added in the MD file, originally the links didnt work because they had relative paths like './images/image-001.png' - these links for images and hrefs broke in the PDF output
I fixed it by replacing the pattern './' with the url of the repository - all was good and it worked for most of the cases
I observed some cases where the above pattern for links and images sometimes begins like this 'images/image-001.png' - in this case my solution will not work and some images and links dont work. A good example:
node . -g https://github.com/donnemartin/system-design-primer/blob/master/README.md
The above file has a lot of images broken
It also has a lot of the links broken because the header tag ids get messed up and the anchor links no longer work
Please try the above command and if anyone understands the problem and has a fix for it, please make a commit. Or please leave comments as to what can be done.

This could be an option - https://stackoverflow.com/a/7995298/8323067
The idea is to provide an onerror handler which will set the image to some default image that we provide.

This could be an option - https://stackoverflow.com/a/7995298/8323067
The idea is to provide an onerror handler which will set the image to some default image that we provide.

@Mira-Alf Are these solved?

@Mira-Alf Are these solved?

I havent tried this. Leaving this issue open for now.

I havent tried this. Leaving this issue open for now.

@simrin051 is taking over this issue

@simrin051 is taking over this issue


Mac won't sleep while eqMac2 is running

Title says it all.  Here is a screenshot to show the two "pmset -g assertions" terminal outputs.  The output at 10:04:51 is without eqmac2 running, the one just moments later at 10:05:19 is with it running.  I included a shot of my energy settings as well as an activity monitor output to show the PID.

my Macbook goes to sleep just fine. From your evidence it seems like the EQMAC_DRIVER_ENGINE is emitting the event. Unfortunately, I haven't written the driver and just forked it from "Soundflower". Thus I have very limited understanding of how it works. There are other solutions for Audio routing I wanted to introduce in the future which would remove the need for this driver.

I confirm the same behaviour. Mac won't go to sleep if imaq2 is running. Killing it will restore normal energy saving functions.

Thank you for this great piece of work!

I've spent a couple hours researching and poking around the code. I can't find a solution to fix your problem guys. Someone from the community had to help me with this one.

Thank you for trying.

On Aug 20, 2017, at 6:53 AM, Roman Kisil<EMAIL_ADDRESS>wrote:
I've spent a couple hours researching and poking around the code. I can't find a solution to fix your problem guys. Someone from the community had to help me with this one.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/romankisil/eqMac2/issues/34#issuecomment-323580302, or mute the thread https://github.com/notifications/unsubscribe-auth/AMsOSOgA2TVVmJTAMyI9OHJir2veEZTwks5saB4xgaJpZM4OvlNf.

Thank you.

Build 2.1 has just been released. You can download it from https://bitgapp.com/eqmac
Could you please update and report if the issue is still relevant. Thanks :)

First of all, I would like to apologize for the lack of communication and responses to the current issue and all other issues in general.
I have made a conscious decision to focus most of my free time and focus on developing a more modern and new version of "eqMac". This means that I can't spend too much time looking back at old codebase and trying to make every user happy. This was the main reason I made this repository open-source, in hopes that other developers might help to sort out some issues and iron out all the bugs. Unfortunately, there are very few developers that are proficient in Core Audio and Objective-C or maybe they are just not interested in this repo, which I can understand.
I promise that the next version will be much more polished and I will make some sort of a mainstream system were solving issues will be very easy and quick. Just sit tight and wait for a new release this coming summer.
Thank you to everyone who gave "eqMac2" a try and I hope I won't disappoint you next time :)
Heres a sneak peak of the UI I am currently working on:

Hello!
I am encountering this issue as well. I was wondering if any workarounds for this exist?
Thanks!

Hey everyone. Excuse me for the lack of updates. I have been really busy on the new version of eqMac. I am happy to announce an open beta release.
You can download it here: https://eqmac.app
There are a lot of known bugs that I could not fix just yet:

Driver not installing from the first try. Sometimes need to restart eqMac a couple times.
Complex Device switching logic is not perfect (for example when switching off the device that's currently playing, plugging in new device etc.)
UI takes long to load (a lot can be done to improve that)
UI dimensions are not synching properly
There's a noticeable audio delay in the playback, so not suitable for video yet (I know where the problem lies just haven't had the time to fix yet)
Sometimes the playback doesn't start, in that case please try to switch the output to the device you want and eqMac should try and build the audio pipeline again.

So as you can see there's still some work to be done but at least it's a completely modern tech stack that I am fully willing to work on: 100% Swift, User Space driver and a Web UI, instead of C++, Kernel Drivers. As I said, should work on Catalina and should not have any pesky ear drum blasting volume bugs (at least I didn't come across any).
I'm open to feedback and issue reports here: https://github.com/bitgapp/eqmac
That repo will become the main repo for eqMac and this repo will be archived eventually.
And yes it's called just eqMac, not eqMac3 :) And it will stay that way forever.

Hey everyone 👋
I will be open sourcing the new version of eqMac, therefore, I am closing this issue and repository as I will be transfering nodeful/eqMac2 repo to bitgapp/eqMac
Please bear with me for the next couple of days as I setup that new repo. The eqMac2 code will be living in the old-eqMac2 branch if anyone is interested in referencing it for whatever reason.
Please try out the new version and report bugs to the new repo.
Thanks for using eqMac.

Moving discussing of this issue to #228


Remove unnecessary page sections

We figured this application does not require most of the content displayed, because it resembles advertising website.
We should remove:

[ ] Section with 'They have found their internship' on the front page, or remove the whole page entirely.
[ ] Section with 'Information about internship'
[ ] File downloads for documents
[ ] That 'Contact us' cooperation footer. Something small with links to repo, college website, etc. should do.

I think the design shown in browary project is a good example for information that should be displayed on such site.

Issue closed with #163


Support Numba-like jit.grid() syntax in CuPy JIT

This PR adds a convenience helper to make it easier to port existing Numba codes to CuPy JIT. The purpose of jit.grid() is to compute the absolute index of a thread in the grid.
Note that grid(n) returns a tuple for n=2, 3. Calling thrust::make_tuple() would indeed incur a bit of overhead for such a simple operation, but to retain the Numba convention I am not sure if there's a better solution. Suggestions are more than welcome, as always!
The below snippet shows the generated CUDA code:
import cupy as cp
from cupyx import jit

@jit.rawkernel()
def grid_1d():
    x = jit.grid(1)

grid_1d[1, 1]()
print(grid_1d.cached_code)

@jit.rawkernel()
def grid_2d():
    x, y = jit.grid(2)

grid_2d[1, 1]()
print(grid_2d.cached_code)

@jit.rawkernel()
def grid_3d():
    x, y, z = jit.grid(3)

grid_3d[1, 1]()
print(grid_3d.cached_code)

Output:
extern "C" __global__ void grid_1d() {
  unsigned int x;
  x = threadIdx.x + blockIdx.x * blockDim.x;
}
extern "C" __global__ void grid_2d() {
  unsigned int x;
  unsigned int y;
  thrust::tie(x, y) = thrust::make_tuple(threadIdx.x + blockIdx.x * blockDim.x, threadIdx.y + blockIdx.y * blockDim.y);
}
extern "C" __global__ void grid_3d() {
  unsigned int x;
  unsigned int y;
  unsigned int z;
  thrust::tie(x, y, z) = thrust::make_tuple(threadIdx.x + blockIdx.x * blockDim.x, threadIdx.y + blockIdx.y * blockDim.y, threadIdx.z + blockIdx.z * blockDim.z);
}

TODO:

[x] Add error messages
[x] Add tests
[x] Add docs

Jenkins, test this please.

Jenkins CI test (for commit 5998b0616d962f5791fb8cba57ec3a2655d7343f, target branch master) succeeded!

LGTM! Thanks!

Thanks!

Looks like with #5332 the generated kernels are different:
extern "C" __global__ void grid_1d() {
  unsigned int x;
  x = threadIdx.x + blockIdx.x * blockDim.x;
}
extern "C" __global__ void grid_2d() {
  unsigned int x;
  unsigned int y;
  {
    thrust::tuple<unsigned int, unsigned int> _temp0 = thrust::make_tuple(threadIdx.x + blockIdx.x * blockDim.x, threadIdx.y + blockIdx.y * blockDim.y);
    x = thrust::get<0>(_temp0);
    y = thrust::get<1>(_temp0);
  }
}
extern "C" __global__ void grid_3d() {
  unsigned int x;
  unsigned int y;
  unsigned int z;
  {
    thrust::tuple<unsigned int, unsigned int, unsigned int> _temp0 = thrust::make_tuple(threadIdx.x + blockIdx.x * blockDim.x, threadIdx.y + blockIdx.y * blockDim.y, threadIdx.z + blockIdx.z * blockDim.z);
    x = thrust::get<0>(_temp0);
    y = thrust::get<1>(_temp0);
    z = thrust::get<2>(_temp0);
  }
}


Should Payload data be Buf instead of AsRef<[u8]>?

The current Payload trait only requires that chunks be able to represent a slice of bytes. There may be cases where a user has several non-contiguous slices they would like to send. The Buf trait makes it possible to represent those as a single chunk, without having to copy to a single contiguous array. Additionally, AsyncWrite::write_buf can use that knowledge to call writev.
Currently, in that situation, a user must either copy all the data into 1 buffer before sending to hyper, or send multiple chunks. hyper will by default not merge the chunks, and try to use writev itself, so users can already benefit. However, that benefit may not be obvious. I'm wondering if allowing the chunk to be a Buf itself would be more obvious.
Some potential downsides: it's a little more complicated to implement a custom Buf than a AsRef<[u8]>, though the common types already do. Additionally, it ties API compatibility to the Buf trait, which is expect to have some breaking changes. However, hyper already publicly exposes a dependency on Bytes from the same crate, and AsyncWrite which also depends on Buf, so probably not a big deal.
/cc @scottlamb

I already use Bytes for my body implementation, so this'll be fine for me!

Thanks for ccing me, and sorry I'm a little late to the party.
I'm a little confused about the desired benefits. From the first comment, it sounds to me like you're confident that the pre-existing writev optimization you mentioned is working well in all the same situations, but you're afraid application writers might not know this. Is that accurate?

If so, it seems like a shame to complicate the interface. Could documentation changes accomplish the same result? (I'd also think anyone who really cares about that will probably end up looking more closely anyway with a profiling tool / strace / etc. to see if whatever they're doing is actually working.)
If not, what's the gap you're concerned about? I suppose maybe that there's a race between the application adding a bunch of chunks from another thread and hyper consuming them; if hyper is too fast, less gets combined?

fwiw, I mentioned on reddit the idea of a different chunk bound than AsRef<[u8]>, but I had a different set of benefits in mind. Maybe bytes::Buf is a step toward those as well, but if so the next step isn't obvious to me:

selectively wrapping blocking around the dereferences (which is something I'd love to do). Does Buf help with this? It's not obvious to me how, but maybe there's some other work here I'm unaware of in tokio/bytes/etc. I guess it might be possible to do this with Buf (or even the existing AsRef<[u8]>) if blocking were split into start_blocking and end_blocking (the former could be called in bytes/bytes_vec, and the latter on drop), but maybe there's too error-prone an interface because it adds the potential of the calls being unbalanced.
perhaps using sendfile instead of accessing the bytes at all, when writing directly to a socket (http or some fancy Linux thing that tells the kernel to do the outbound encryption.) (This isn't something I personally have any plans now to use, but iirc someone else was asking about it a while back.) Would bytes::Buf get some hook for this? (I'm not actually sure how it'd work anyway with the support for writev merging across chunks; I guess if you already have a non-empty IoVec might merge this chunk into, you'd need some way of deciding not do to that so you can later call sendfile instead. So a couple new methods, one to say if it wants sendfile, another to actually use sendfile.)

confident that the pre-existing writev optimization you mentioned is working well in all the same situations

So, sort of. Say you have 2 large chunks available immediately. You can make them available in Payload::poll_data, and hyper will receive them and push them into basically a VecDeque of buffers to write, and then poll_data says NotReady (or Ready(None)), hyper will prepare a flush of its queue, using writev. So, for users that weren't really trying, hyper will already reduce the amount of copies done.
But, maybe you have a whole bunch of slices ready immediately. You could push them all individually onto poll_data, and just benefit from the internal VecDeque, but maybe you could gain a little bit of performance if it were just a single Buf (and thus, only a single poll_data call), and have some optimized way of accessing all the slices over hyper's generic VecDeque.

wrapping blocking around the dereferences

hyper doesn't actually dereference the slice, it passes it directly to AsyncWrite::write/AsyncWrite::write_buf. So, for a TcpStream, the dereference would happen in the kernel. If your application anticipates needing to block then, you could provide an AsyncRead + AsyncWrite that wraps its write calls in blocking, and hyper is none-the-wiser.

perhaps using sendfile instead of accessing the bytes at all

I think this would something about Payload, not the individual chunks, right? ... Or, perhaps not, if you needed to send multiple files, or only regions of certain files? I've been thinking about this on and off, and I think it could be done best with specialization. If it is for each Data chunk, then you could have a FileRegion trait implemented on your Data chunk, and AsyncWrite::write_buf can specialize on that trait, like how Vec::extend does.

maybe you could gain a little bit of performance if it were just a single Buf (and thus, only a single poll_data call), and have some optimized way of accessing all the slices over hyper's generic VecDeque.

Interesting, thanks. It's not clear to me at first glance that a poll_data call or the VecDeque operations would be expensive, but I'm sure you've thought about this more than I have.

wrapping blocking around the dereferences

Sorry, I was oversimplifying by partitioning the world into "my application" vs "hyper" without thinking about the details of how hyper interacts with tokio and such. But hyper is the thing my application is sending the chunks to. If I want to provide an AsyncWrite implementation on the other side that selectively uses blocking, how can I pass to it (through hyper) whether this chunk is one that needs blocking or not?

I think this would something about Payload, not the individual chunks, right? ... Or, perhaps not, if you needed to send multiple files, or only regions of certain files?

There definitely exist applications that do both those things. For example, my moonfire-nvr composes arbitrary-length .mp4 entities from metadata it assembles on-the-fly and from parts of one or more on-disk files.

I've been thinking about this on and off, and I think it could be done best with specialization.

Interesting. I'll have to study how that works. Maybe it's also the answer for my question above about blocking. Too bad specialization's still unstable, though.


matrix multiplication

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

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

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

[ ] Test A
[ ] Test B

Test Configuration:

Firmware version:
Hardware:
Toolchain:
SDK:

Checklist:

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

Hey @sreechand2002  amazing job on the PRs but you will have to comment on the issue you wish to work on to create a PR for them as it helps us track your work. So keep this in mine and keep up the good work!

sure , i will comment from on issues from now onwards

Thanks a lot buddy, have fun!

!bounty 30

!bounty 30


Object returned by Project::Get has ID field populated with project name

When using the static Get member of the Project class, the returned object has the Id field set to the project's name rather than the UUID
Steps to reproduce
Sample C# stack which demostrates the problem:
using Pulumi;
using Pulumi.AzureDevOps;

class MyStack : Stack
{
    public MyStack()
    {
        // set these configs:
        //   pulumi config set - all--plaintext azuredevops:orgServiceUrl=https://dev.azure.com/<your org> --secret azuredevops:personalAccessToken=<your PAT>

        // set these for your environment
        const string projectName = "<your project Name>";

        var projGet = Project.Get("proj",projectName, new ProjectState
        {
            Name = projectName
        });
        this.ProjectGetId = projGet.Id;

        var getProj = GetProject.InvokeAsync(new GetProjectArgs
        {
            Name = projectName
        });
        this.GetProjectId = Output.Format($"{getProj.Result.Id}");
    }

    [Output]
    public Output<string> ProjectGetId { get; set; }

    [Output]
    public Output<string> GetProjectId { get; set; }
}

Expected: both outputs to be the Project ID (a UUID)
Actual: the ProjectGetId output is the same as the project name

I think what might be happening here is that because you're passing projectName as the ID in Project.Get("proj",projectName,  then this is flowing through as the ID of the resource. In this case, the underlying provider supports both name-based and ID-based lookups (hence why import can take place via either name or UUID). I think if you were to pass in the ID, you'll end up with that as the ID value. So I believe this is by design in the way the provider is constructed.


Trigger an event when Form is persisted/reset

Currently there's no way for a component to react when a Form is persisted/reset. Triggering an event would make it easier for transforming pipelines to handle data updates.

Fixed.


All day events start time may be incorrect (iOS only)

I noticed  startTimeZone: ekEvent.timeZone?.identifier, might be null(nil) for all-day events.
Because of that, in my flutter code after calling retrieveEvents() I received an all-day event object with changed start time property.
Let's say my event is at 06.10.2021 and my timezone is +2.
I got an event object with

start time at 05.10.2021, 22:00 (timezone difference exactly)
end time at 06.10.2021, 24:00

SwiftDeviceCalendarPlugin.dart
 private func createEventFromEkEvent(calendarId: String, ekEvent: EKEvent) -> Event {
        ...
        ...
        let event = Event(
            eventId: ekEvent.eventIdentifier,
            calendarId: calendarId,
            title: ekEvent.title ?? "New Event",
            description: ekEvent.notes,
            start: Int64(ekEvent.startDate.millisecondsSinceEpoch),
            end: Int64(ekEvent.endDate.millisecondsSinceEpoch),
            startTimeZone: ekEvent.timeZone?.identifier,
            allDay: ekEvent.isAllDay,
            attendees: attendees,
            location: ekEvent.location,
            url: ekEvent.url?.absoluteString,
            recurrenceRule: recurrenceRule,
            organizer: convertEkParticipantToAttendee(ekParticipant: ekEvent.organizer),
            reminders: reminders,
            availability: convertEkEventAvailability(ekEventAvailability: ekEvent.availability)
        )

        return event
    }

Can you try again with the latest build in #385. I think things should be fixed but I don't have an iOS device to confirm.

there is a broken part here https://github.com/builttoroam/device_calendar/blob/develop/ios/Classes/SwiftDeviceCalendarPlugin.swift
You set endDate to startDate if AllDay is true
check the 818 line
if (isAllDay) { ekEvent!.endDate = startDate }
else {
ekEvent!.endDate = endDate

I added PR https://github.com/builttoroam/device_calendar/pull/450 that fixes that problem

Can we consider this issue as fixed?

@henry2man yes, good catch. The PR was merged in the 4.3 release.
Thanks for the reminder.


[HxCalendar] DisplayMonthChanged event fires twice when display month is changed

If I have a selected date in calendar and I react to a change in selected date using events, the month cannot be changed (by arrows or by picking form year and month popups).
The DisplayMonthChanged event is fired twice.
For the first time with a new date. For the second time with the original one.
Simple repro page is atteched.
HxCalendarBugRepro.zip

Will be fixed in the upcoming release.


Confirmed support for GDAL 2.4.

I don't see any test failures on an Ubuntu 19.10 build which packages GDAL 2.4.

@astarrh these changes didn't qualify for a backport and Django 2 is unsupported since April 1st.

@astarrh this commit is present in the upcoming Django 3.0 release (pip install "Django==3.0b1") meant to be released in the next weeks. I guess the Window installation notes could be adjusted to point to a compatible OSGeo4W installation.

The problem is that the installation notes make use of OSGeo4Win, which is an installer that automatically downloads the latest versions of everything. GDAL is never installed on its own.
I pulled an installer off an old machine and still got the gdal 2.4 dll on my new machine.

Do you have any luck installing an older build from the binary downloads available at https://gdal.org/download.html#binaries ?

I can try this next week.


Several Opencast 10 Distributions Broken

Opencast fails with an OSGi wiring error when trying to start a worker distribution. My best guess is the restructured index rebuild service since that one is part of the resolution path that causes the error.
start-opencast: JAVA_HOME not set; results may vary
org.apache.felix.resolver.reason.ReasonException: Unable to resolve root: missing requirement [root] osgi.identity; osgi.identity=opencast-worker; type=karaf.feature; version="[10.0.0.SNAPSHOT,10.0.0.SNAPSHOT]"; filter:="(&(osgi.identity=opencast-worker)(type=karaf.feature)(version>=10.0.0.SNAPSHOT)(version<=10.0.0.SNAPSHOT))" [caused by: Unable to resolve opencast-worker/10.0.0.SNAPSHOT: missing requirement [opencast-worker/10.0.0.SNAPSHOT] osgi.identity; osgi.identity=opencast-series-service-remote; type=osgi.bundle; version="[10.0.0.SNAPSHOT,10.0.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve opencast-series-service-remote/10.0.0.SNAPSHOT: missing requirement [opencast-series-service-remote/10.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.serviceregistry.api.ServiceRegistry)"; effective:=active [caused by: Unable to resolve opencast-serviceregistry/10.0.0.SNAPSHOT: missing requirement [opencast-serviceregistry/10.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.security.api.UserDirectoryService)"; effective:=active [caused by: Unable to resolve opencast-userdirectory/10.0.0.SNAPSHOT: missing requirement [opencast-userdirectory/10.0.0.SNAPSHOT] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.opencastproject.index.rebuild)(version>=10.0.0)(!(version>=11.0.0)))"]]]]
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        at org.apache.felix.resolver.ResolverImpl.doResolve(ResolverImpl.java:392)
        at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:378)
        at org.apache.felix.resolver.ResolverImpl.resolve(ResolverImpl.java:332)
        at org.apache.karaf.features.internal.region.SubsystemResolver.resolve(SubsystemResolver.java:257)
        at org.apache.karaf.features.internal.service.Deployer.deploy(Deployer.java:393)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.doProvision(FeaturesServiceImpl.java:1062)
        at org.apache.karaf.features.internal.service.FeaturesServiceImpl.lambda$doProvisionInThread$13(FeaturesServiceImpl.java:998)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve opencast-worker/10.0.0.SNAPSHOT: missing requirement [opencast-worker/10.0.0.SNAPSHOT] osgi.identity; osgi.identity=opencast-series-service-remote; type=osgi.bundle; version="[10.0.0.SNAPSHOT,10.0.0.SNAPSHOT]"; resolution:=mandatory [caused by: Unable to resolve opencast-series-service-remote/10.0.0.SNAPSHOT: missing requirement [opencast-series-service-remote/10.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.serviceregistry.api.ServiceRegistry)"; effective:=active [caused by: Unable to resolve opencast-serviceregistry/10.0.0.SNAPSHOT: missing requirement [opencast-serviceregistry/10.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.security.api.UserDirectoryService)"; effective:=active [caused by: Unable to resolve opencast-userdirectory/10.0.0.SNAPSHOT: missing requirement [opencast-userdirectory/10.0.0.SNAPSHOT] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.opencastproject.index.rebuild)(version>=10.0.0)(!(version>=11.0.0)))"]]]
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        ... 12 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve opencast-series-service-remote/10.0.0.SNAPSHOT: missing requirement [opencast-series-service-remote/10.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.serviceregistry.api.ServiceRegistry)"; effective:=active [caused by: Unable to resolve opencast-serviceregistry/10.0.0.SNAPSHOT: missing requirement [opencast-serviceregistry/10.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.security.api.UserDirectoryService)"; effective:=active [caused by: Unable to resolve opencast-userdirectory/10.0.0.SNAPSHOT: missing requirement [opencast-userdirectory/10.0.0.SNAPSHOT] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.opencastproject.index.rebuild)(version>=10.0.0)(!(version>=11.0.0)))"]]
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        ... 13 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve opencast-serviceregistry/10.0.0.SNAPSHOT: missing requirement [opencast-serviceregistry/10.0.0.SNAPSHOT] osgi.service; filter:="(objectClass=org.opencastproject.security.api.UserDirectoryService)"; effective:=active [caused by: Unable to resolve opencast-userdirectory/10.0.0.SNAPSHOT: missing requirement [opencast-userdirectory/10.0.0.SNAPSHOT] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.opencastproject.index.rebuild)(version>=10.0.0)(!(version>=11.0.0)))"]
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        ... 14 more
Caused by: org.apache.felix.resolver.reason.ReasonException: Unable to resolve opencast-userdirectory/10.0.0.SNAPSHOT: missing requirement [opencast-userdirectory/10.0.0.SNAPSHOT] osgi.wiring.package; filter:="(&(osgi.wiring.package=org.opencastproject.index.rebuild)(version>=10.0.0)(!(version>=11.0.0)))"
        at org.apache.felix.resolver.Candidates$MissingRequirementError.toException(Candidates.java:1343)
        ... 15 more

Distributions that seems to be broken:

Worker
Presentation
Ingest

Most likely cause:

Unable to resolve opencast-userdirectory/10.0.0.SNAPSHOT: missing requirement […] org.o
pencastproject.index.rebuild […]

I'm gonna look into this. I already have an idea...


Format decimal values in an activeForm field

As far as I can see there are basicly two ways to format a decimal value for activeForm fields.
First one is to create getter und setter functions to prepare and return a formatted value. Here you can use the php NumberFormatter class which will use the language depended decimal sign and group separator. This way you need to write these functions for each decimal field (or one magic method) .
The second way is using the maskedInput widget. Here you need to define the groupSeparator and radixPoint manually. I propose to set the default values for those fields within the widget based on the language.
A third option could be implemented similar to the widget function of the activeField class. You might allow using the formatter class or any other function which formats the output string.

Yii::$app->formatter->asDecimal

@lynicidn, that's the way to format decimals in normal views. But I don't see how to use this in combination with activeForm fields?
 <?= $form->field($model, 'ablesewert') ?>

Did I missed something?

Field should set value w/o prepare

or u can set value in manual mode

@lynicidn, the field need to be prepared. Decimal comma is an absolute requirement (in some countries). Beside that I don't know how to set value in manual mode. Or do you mean without active field widget? Can you pls. give an example?
In general I would expect some assistance from a framework or at least a clear documentation how to handle decimal values.
I already raised this question in the forum but got no response. All I found so far are some articles based on yii version 1. But nowhere an descripiton how to handle the whole process from reading a decimal value, render it (localized by country), check the rules and save the new value.

$form->field($model, 'attr', ['inputOptions' => ['value' => Yii::$app->formatter->asDecimal($model->attr)]])

п.с. ну и извращенец вы батенька

Hi, I'm new to Yii2, have the same Problem and did it this way:
In model, i change the format bevor use:
    $this->Preis = yii::$app->formatter->asDecimal($this->Preis,2);

To write back, the input-value will be transformed by filter rule:
    ['Preis', 'filter', 'filter' => function ($value) {$value = str_replace(',', '.', $value); return $value; }],

It's not elegant and you have to do it in each model for every decimal, but it works.
Comments?

we could add a format property to ActiveField like we have it in the gridview columns.

... that would be great! It seems to be more like "dataFormat" or similar, because it should be adjustable for both directions.

@cebe I could try to make a PR

@freezy-sk you're welcome.

@cebe better add setter and getter prioritet upper that getAttribute and setAttribute =)

@lynicidn AR should not be responsible for the presentation layer, you may want to get human readable format but also machine readable format for one attribute dependend on the context. thats why getters and setter are not good in this case.

@cebe i understand, in core need replace all $this->$name to $this->getAttribute($name) :(

what? why?

@cebe
in rest model i can prepare value - fields
in base model too - getter and setter and remove public $attribute property from model
in ar model it's not real.

Why i cant find this changes and ability to use format option for textinput fields in 2.0.8 version?

@conick because that PR #9208 is still not merged

@cebe why we need format value for text input and area, it will not validate on request, if it validated, than u instantiate not valid model

The idea make no sense to me: after number is formatted according to the specific locale (including thousands and decimal separators) it usually becomes unparsable and will no longer recognized as number by JavaScript or PHP.
For example: both for PHP and JavaScript following value is a valid number: 1500200.56. However after being formatted it becomes following: 1 500 200,56. Now nethier JavaScript nor PHP is unable to parse this string and extact actual number value from it, unless a specific parser created.
Allowing formatter on text input values will break existing ActiveForm client-side validation as well as regular server-side validation.
If you want a text input value been formatted in a specific way like locale-aware decimal number, you should use maskedinput jQuery plugin or similar solution.

PR #9208 is rejected: https://github.com/yiisoft/yii2/pull/9208#issuecomment-199343845

это бред чистой воды уже, формат это от форматера методы asX , там не только преобразование числовых типов, там есть и asHtml и прочая ненужная фигня.
Если аттрибут модели увас содержит некорректное значение, которое надо преобразовать, то почему вы это делаете в виджете ActiveField, чтобы вы не крутили, придет строка и запишется в валуе строка. Ваша "надуманная проблема" решается куда проще
class MyModel extends Model
{
    public function attributes()
    {
        return ['value'];
    }
    private $_value;
    public function setValue($value)
    {
        $this->_value = $value;
    }

    public function getValue()
    {
        return Yii::$app->formatter->asHtml($this->_value)
    }
}

Won't be implemented in 2.0.


http-proxy-middleware should return 500, 504 and 502 as appropriate.

Expected behavior
If there's an error in the upstream server response return 502,
If there's a timeout in the upstream response / DNS / TLS handshake etc return 504
If there's an application error / unexpected exception in http-proxy-middleware return 500
Actual behavior
Any error returns 500
Setup

http-proxy-middleware: latest / N/A

proxy middleware configuration
N/A

https://github.com/chimurai/http-proxy-middleware/blob/7d1865c84f4339ced230b0292db42c4d45376f1a/lib/handlers.js#L53
See also https://github.com/webpack/webpack-dev-server/issues/712


Improve multi-location docs

In particular, how it can be used with the “availability zone” extension
to round-robin across the targets.

LGTM -- this is documentation that would have been very helpful when I was developing a clustered blueprint targeted at multiple locations with round-robin desired, so it's great to add.

+1. @aledsage can you also open this as a pull request against 0.9.0 so it appears on the /latest section of the website?