feat!: release v3

Description
This is a placeholder for the release of the next branch for v3.

/au

/dnm

Hey @kennethaasan @magicmatatjahu @Samridhi-98 @devilkiller-ag @Ferror @leigh-johnson @artur-ciocanu
Planning to release v3 at the end of the month, any objections?
It is also a heads up for you folks in case you want any breaking changes included 🙂

Okay from my side, the redesign of the website will be completed by that time.

As soon as https://github.com/asyncapi/modelina/pull/1754 and https://github.com/asyncapi/modelina/pull/1757 have been merged I will release v3 🙂

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-12 of 340 (96.47%)  changed or added relevant lines in 81 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.05%) to 92.312%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/generators/java/renderers/ClassRenderer.ts
33
34
97.06%

src/generators/typescript/TypeScriptObjectRenderer.ts
4
5
80.0%

src/generators/typescript/presets/utils/MarshalFunction.ts
57
58
98.28%

src/generators/typescript/presets/utils/UnmarshalFunction.ts
31
32
96.88%

src/processors/AsyncAPIInputProcessor.ts
27
35
77.14%

Files with Coverage Reduction
New Missed Lines
%

src/processors/AsyncAPIInputProcessor.ts
1
82.72%

src/generators/typescript/TypeScriptDependencyManager.ts
2
90.91%

Totals

Change from base Build<PHONE_NUMBER>:
-0.05%

Covered Lines:
5972

Relevant Lines:
6305

💛  - Coveralls

@kennethaasan @magicmatatjahu @Samridhi-98 @devilkiller-ag @Ferror @leigh-johnson @artur-ciocanu planning to do the release tomorrow, last chance for review and comments 🙂


[WIP] Intro jobs template for OA

Add an intro notebook for jobs. Not currently working.
cc @edoakes @raulchen

Looks like a good start. I'll get started on jobs CLI improvements in the next couple of days. Do you know the ETA for the UI parts?

Jobs UI and CLI will be in the next sprint. Hoping to get @raulchen 's help on this to work with you

Ready for review--- I cut this down to cover only the finished APIs.
Also, it won't work in staging, only prod due to https://anyscale1.atlassian.net/browse/OA-665


Adding support for using Docker behind a proxy

Adds support to Docker to pull images from behind a proxy by setting the HTTP_PROXY, HTTPS_PROXY, and NO_PROXY configuration variables in /etc/systemd/system/docker.service.d/*.conf.    Also adding support to deploy a specific version of Docker in the variables.sh file.
Based on suggested Docker configuration here.

I can see what you mean @jezogwza, I would agree with you that the proxy variables can be pulled in by user export. @mark-burnett and I were thinking through that last week..   My train of thought was that we should also support an option for providing the proxy variables within Promenade itself, in the situation that an automated process is performing the deployment, there is track record of where the proxy is being sourced from.   Using a clever series of if-then logic, we can probably support both methods, unless one method is favored over another.

On another note , this address only the Docker proxy settings.  I had done this only HTTPS and NOPROXY in one file) in my environment and that worked fine.  However, we also need to address the apt proxy settings when building the image.  At least that appear to be th ecase for me. In order to get the config file into the /promenade directry , and for the build to run I had to add the following into teh Dockerfile :
26,29d26
<
< ENV https_proxy "http://one.proxy.att.com:8080"
<
< COPY apt.conf /etc/apt/apt.conf
Then the image build worked behind the Proxy as well.

Just summarizing the current known points of contact for proxy:

docker daemon (being addressed by Aric now)
apt configuration on node
build-related

apt configuration inside image?
directly pulled components via curl like kubelet and cni

I believe the solutions for these issues are:
docker daemon:  something like what Aric is doing now (managed by the shell script before container execution)
apt configuration on node:   setup by something inside the container
direct curls:  addressed by --build-arg http_proxy... --build-arg https_proxy=...
build apt configuration:  i believe that --build-arg http_proxy... --build-arg https_proxy=... will work here too

The most recent changes I pushed allow the proxy variables to be sourced from the environment. I also updated the README explaining how this works.

LGTM, perhaps @jezogwza would like to chime in as well.


Lc schemasandmodels 02

saveEncounter is now working and the new encounters is added to a User's encounters


[Inquiry] general progress and roadmap of this project

Hi l7mp team!
Great work as it seems to be, we are interested in this project which makes webrtc+k8s plausible.
Just wondering what's the current status in terms of the Milestones for this project? Is there any timeline/roadmap we can follow?
Currently we run a hybrid topology for our media streaming, we host coturn servers in a public cloud and this coturn cluster colocates with a bunch of media servers (along with application servers) all hosted in k8s. Feature-wise it is just fine but it surely lacks of scalability and visibility

Hi, thanks for the inquiry.
The milestones are not, well, set in stone: we're constantly changing the roadmap as we experiment with STUNner and see the missing features. Currently the major painpoint is the Kubernetes operator to wrap the low-level STUNner configs in high-level Kubernetes-like YAMLs/CRDs. After we have that in place (1-2 releases from now) we will look into scalabilty and observability a bit more. Note that scaling up STUNner and the media servers behind it is already super-simple, but scaling down may remove active sessions so that's not optimal. We have a couple of ideas on how to handle that, we expect a working PoC in 1-2 months.  Best would be to check back then, but feel free to join the Discord, most discussions and planning happens there.

Hi @rg0now, your kind answer is such a great reading, really appreciated! Things got busy lately so could read it through earlier. Without eBPF tuning, a single pod should still be able to handle around ~500Kpps I assume? Probably STUNner can also take advantage of the Cilium network in k8s directly?

Last time we checked we got >1.2 mpps packet rates with a fairly naive UDP proxy attached to the eBPF/tc hook, and around 1.7 mpps with eBPF/XDP. We hope to get similar numbers with the STUNner accelerator too, but note that handling the specifics of the TURN wire protocol in eBPF will not be trivial and it may have its performance penalty. I guess at these speeds it will be the Kubernetes CNI or the cloud infra that become a bottleneck, and not STUNner. But it's quite fast already: you can easily get 1--2 kpps without any acceleration, with vanilla STUNner. We hope to release some benchmark results soon!
As per Cilium: as much as we are massive fans of Cilium, unfortunately we cannot use it right away: the Cilium data-plane does not know how to handle the STUN/TURN protocol formats. But we at least hope to avoid any interference with it, which will be a challenge in itself given how Cilium uses the same eBPF kernel hooks we also intend to use. We'll see!

1-2 kpps for one RTP stream right?

It's actually multiple iperf UDP streams encapsulated in separate TURN streams; details will follow soon.
I close this PR now, but feel free to reopen anytime.


Update Kong discovery subscription

Closing this issue as it is moved to https://github.com/minos-framework/minos-python/issues/75


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.10.96",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=83d5196b65d1b29e27d7dd16a3b9b439fb1d2dba"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "83d5196b65d1b29e27d7dd16a3b9b439fb1d2dba",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "Bluetooth: refactor malicious adv data check\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.10.96 by commit 83d5196b65d1b29e27d7dd16a3b9b439fb1d2dba. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2022-1000181


NIFI-2774 changed the default ACK mode to CLIENT

Other.commit
Nifi.commit
This means at most once.  Loss is possible but dupes are not.
Nifi.commit
Other.commit
This means at least once.  Dupes are possible but loss is not.
Default mode should always be at least once.

@ckmcd PR comments addressed with few minor improvements.

Closing this PR because of the complexity with fixing merge conflicts due to changes that came in with #1027. Will submit new one shortly.


New dashboard breaks many things

Discord username
wdanilo
What type of issue is this?
Permanent – Occurring repeatably
Is this issue blocking you from using Enso?

[X] Yes, I can't use Enso because of this issue.

Is this a regression?

[ ] Yes, previous version of Enso did not have this issue.

What issue are you facing?
The new dashboard behavior I encountered while running ./run ide watch --skip-version-check --skip-wasm-opt --backend-source release --backend-release latest and opening http://localhost:8080 in Chrome:

When trying to login with GMail, after login I was redirected to cloud.enso.org, not localhost.
After resetting password, the info about successful reset was vertically centered on my screen and glued to its right side.
After typing new password I got error that at least one letter should be upper. After fixing, another error that at least one number should be there. After fixing, that at least one special character should be there. After fixing ... that the user exists. Ugh, this UX is terrible.
After I logged in with email, I can't create local projects, only cloud projects are available.
I was trying to pass flag there, but neither http://localhost:8080/?feature_preview.new_dashboard=false nor http://localhost:8080/?feature-preview.new-dashboard=false works, nothing happens.
After trying http://localhost:8080/?foo=1 I did not get web page with error and explanation that this flag does not exist (it was working before), now nothing happens.
After running http://localhost:8080/?featurePreview.newDashboard=false (which is wrong format of providing the flags, earlier it wa working with dashes), I've got blank screen.
After running ./run ide watch --skip-version-check --skip-wasm-opt --backend-source release --backend-release latest, after build and serving the website, there is error npm:information_source: Resource '/serviceWorker.js' not found..
Running ./run ide watch --skip-version-check --skip-wasm-opt --backend-source release --backend-release latest does not reload the website automatically after making changes anymore.

Expected behaviour
See above.
How we can reproduce it?
No response
Screenshots or screencasts
No response
Enso Version
newest develop
Browser or standalone distribution
Chrome
Browser Version or standalone distribution
standalone
Operating System
MacOS
Operating System Version
No response
Hardware you are using
No response

when running ./run ide watch and navigating to http://localhost:8080 and get ./serviceWorker.js not found error and ./esbuild resource not found

the root cause should be the same as 4.
can't repro, sorry - could you provide more detailed steps?
will fix - currently we are just relying on cognito's error messages
this is a known issue, because feature detection can only really access platform (which is something like "web" | "linux" | "windows" | "macos"). one way to solve this would be to explicitly specify whether we are on desktop as a variable defined by the build scripts?
it should be authentication=false&featurePreview.newDashboard=false
this check is done by the IDE, not the dashboard, and the IDE is not launched until a project is started. it has been brought up elsewhere that this also means the big red warning does not get shown when the console is opened. not sure what a good solution would be here - maybe the logic should be copied (?) into app/ide-desktop/, and removed from the old location when the old dashboard is fully deprecated?
will fix - this is because the authentication flow doesn't re-show the IDE like it should, if showDashboard === false

re: ./serviceWorker.js and /esbuild: will try and fix that too

@somebody1234 5 does not work, see my point 7. Also, reported additional points.

7 has been mentioned - i don't remember a commit which supported the dashes though. i think ensogl-pack handles url parsing into options right? i can investigate it later, but it seems like the last time that function was changed was 2 months ago?

@somebody1234 regarding 6 we took from App loading serach params and mutate config with contentConfig.OPTIONS.loadAll([app.urlParams()]) but we also need to borrow logic responsible for checking unrecognized options
const unrecognized = log.Task.runCollapsed('Resolving application configuration.', () => {
            const inputConfig = opts?.configOptions
            if (inputConfig != null) {
                this.config = inputConfig
            }
            const unrecognized = this.config.loadAll([opts?.config, host.urlParams()])
            logger.log(this.config.prettyPrint())
            return unrecognized
        })
        if (unrecognized.length > 0) {
            logger.error(`Unrecognized configuration parameters: ${unrecognized.join(', ')}.`)
            this.showConfigOptions(unrecognized)
        } else {
            this.initBrowser()
            this.initialized = true
        }

ah, of course

@somebody1234
run ide watch:

in the browser: when navigating to localhost:8080 it should work like gui watch with redirect back to proper address (need fix)
in electron: no easy fix since we are unable to navigate back to opened electron instance. For now workaround is to register your email -> click confirmation url (which points to cloud.enso.org) -> alt+tab to electron instance and login with email. This can be done once and if you don't log out you wont need to repeat that (cc @wdanilo )

run gui watch & run ide watch should run dashboard with also local projects (at least local backend enabled since project manager need to be started separetly) <- this one is priority
inserting unrecognized url params should result with Unknown config option (see screenshot) <- this one is priority

If the missing resources errors (serviceWorker.js and esbuild) are long hanging fruits lets fix them also with higher priority.

also @somebody1234 I guess the easiest way to determinate desktop mode vs cloud only is to check whether the location is localhost. For localhost we should always be running desktop mode

@somebody1234
7. Hmm, interesting. Maybe it was never implemented indeed.
9. It was working, I'm 100% sure. I think the original commit of this PR (the one it started from) was working well: https://github.com/enso-org/enso/pull/6595

re: 9 - are you sure it wasn't ./run gui watch? (if not, could you provide repro steps?)
i was thinking maybe introducing esbuild may have broken it, but it seems like there were no relevant changes in that PR?
if it's not currently a thing, it might not be a bad idea to support it, but we'd need to figure out how it'd work - like, is a simple chokidar watcher enough? or does the build cli maybe already spawn a watcher that watch.ts can use?

@somebody1234 re 9. ./run ide watch --skip-version-check --skip-wasm-opt --backend-source release --backend-release latest - it was re-starting electron after changing rust sources.

@somebody1234 @PabloBuchu which parts of this ticket remain unsolved? Can we create separate issues for those and close this one?

@PabloBuchu @somebody1234 can we close this issue?


docs: add documentation for Series.struct.field and Series.struct.explode

Fixes internal issue 305770359.

@ashleyxuu please take a look. I don't recall how to test the toc.yml file, so I'd love some help validating this. Thanks!


V6.8.0 fails RUBOCOP cannot load such file -- rubocop-rspec_rails

Is there an existing issue for this?

[X] I have searched the existing issues

Are you using the latest Super-linter version available?

[X] I am using the latest Super-linter version.

[X] I can reproduce the issue running Super-linter using complete version identifier (example: vX.Y.Z), and not just with a partial one (example: vX)

[X] I am using the super-linter/super-linter action or container image, and not the deprecated github/super-linter action or container image.

Are you resonably sure that it's a Super-linter issue, and not an issue related to a tool that Super-linter runs?

[X] I think that this is a Super-linter issue.

Current Behavior
Rubocop can't run, throwing errors
Expected Behavior
Rubocop should run!
Super-Linter version
v6.8.0

Super-linter configuration
---
#################################
#################################
## Super Linter GitHub Actions ##
#################################
#################################
name: Super-Linter

#
# Documentation:
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
#

#############################
# Start the job on all push #
#############################
on: [push]

permissions:
  contents: read
  packages: read
  statuses: write

###############
# Set the Job #
###############
jobs:
  build:
    # Name the Job
    name: Super-Linter
    # Set the agent to run on
    runs-on: ubuntu-latest

    timeout-minutes: 10

    ##################
    # Load all steps #
    ##################
    steps:
      ##########################
      # Checkout the code base #
      ##########################
      - name: Checkout Code
        uses: actions/checkout@v3
        with:
          # Full git history is needed to get a proper
          # list of changed files within `super-linter`
          fetch-depth: 0

      ################################
      # Run Linter against code base #
      ################################
      - name: Super-Linter
        uses: super-linter/super-linter@latest
        env:
          DEFAULT_BRANCH: develop
          FILTER_REGEX_EXCLUDE: ./db/schema.rb
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
          LINTER_RULES_PATH: /
          RUBY_CONFIG_FILE: '.rubocop.yml'
          VALIDATE_ALL_CODEBASE: false
          VALIDATE_DOCKERFILE_HADOLINT: false
          YAML_CONFIG_FILE: '.yaml-lint.yml'
          YAML_ERROR_ON_WARNING: false

Relevant log output
RUBY
  2024-08-06 14:55:14 [INFO]   Linting RUBY items...
  Error: -06 14:55:20 [ERROR]   Found errors when linting RUBY. Exit code: 1.
  2024-08-06 14:55:20 [INFO]   Stderr contents for RUBY:
  ------
  cannot load such file -- rubocop-rspec_rails
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:46:in `rescue in rescue in load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:39:in `rescue in load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:32:in `load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:21:in `load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:14:in `block (2 levels) in resolve_requires'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:13:in `each'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:13:in `block in resolve_requires'
  <internal:kernel>:90:in `tap'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:12:in `resolve_requires'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader.rb:52:in `load_file'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_store.rb:29:in `options_config='
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:156:in `act_on_options'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:47:in `block in run'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:77:in `profile_if_needed'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:43:in `run'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/exe/rubocop:19:in `block in <top (required)>'
  /usr/lib/ruby/3.3.0/benchmark.rb:313:in `realtime'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/exe/rubocop:19:in `<top (required)>'
  /usr/bin/rubocop:25:in `load'
  /usr/bin/rubocop:25:in `<main>'
  ------

Steps To Reproduce
I wasn't able to run it locally :(
Anything else?
No response

Hi. There's not enough information to understand what's happening.
How is your Ruby configuration file like? Is the repository public, so we can have a look at its structure?
Especially, the way you configured Super-linter means that it expects a file named .rubocop.yml in the root of your repository.
Unless we have that information, there's not much we can do.

Hey @ferrarimarco , thanks for the quick response !
Leaving the rubocop.yml below!
AllCops:
  TargetRubyVersion: 3.3.1
  NewCops: enable

Layout/LineLength:
  Max: 100
  AllowedPatterns: ['^(\s*#)']

Metrics/AbcSize:
  Exclude:
    - 'db/migrate/*'

Metrics/BlockLength:
  Exclude:
    - 'config/routes.rb'
    - 'config/environments/*'

Metrics/MethodLength:
  Exclude:
    - 'db/migrate/*'
  CountAsOne: ['array', 'heredoc', 'method_call', 'hash']

RSpec/ExampleLength:
  CountAsOne: ['array', 'heredoc', 'method_call', 'hash']

RSpec/NestedGroups:
  Enabled: false

RSpec/MultipleMemoizedHelpers:
  Enabled: false

RSpec/SubjectStub:
  Enabled: false

Style/Documentation:
  Enabled: false

require:
  - rubocop-rails
  - rubocop-rspec
  - rubocop-rspec_rails
  - rubocop-factory_bot

I think it's because we don't install rubocop-rspec_rails: https://github.com/super-linter/super-linter/blob/main/dependencies/Gemfile

And you happen to require it. Can you try temporarily removing rubocop-rspec_rails from the require list in your config file?

@ferrarimarco rubocop-factory_bot is also missing in: https://github.com/super-linter/super-linter/blob/main/dependencies/Gemfile. But I'm trying to understand why this was working before the last release, this has been working for me until last week 🤔

Ah, that's a bit surprising.
Considering that you're running super-linter/super-linter@latest, can you please check if<EMAIL_ADDRESS>works, and if it does, try reproducing this with<EMAIL_ADDRESS>In both cases we need debug logs.
Is this a public repository that we can have a look, or is that private?
Thanks!

It's a private repo, sorry 😞
Debug logs below:
v6.7.0 works like a charm
RUBY
  2024-08-06 17:48:41 [INFO]   Linting RUBY items...
  Error: -06 17:48:44 [ERROR]   Found errors when linting RUBY. Exit code: 1.
  2024-08-06 17:48:44 [INFO]   Command output for RUBY:
  ------
  Inspecting 1 file
  C

  Offenses:

  spec/controllers/api/v1/redemptions_controller_spec.rb:1:1: C: [Correctable] Style/FrozenStringLiteralComment: Missing frozen string literal comment.
  require 'rails_helper'
  ^

  1 file inspected, 1 offense detected, 1 offense autocorrectable
  ------

v6.8.0 is failing with the same issue I logged initially
RUBY
  2024-08-06 17:59:49 [INFO]   Linting RUBY items...
  Error: -06 17:59:54 [ERROR]   Found errors when linting RUBY. Exit code: 1.
  2024-08-06 17:59:54 [INFO]   Stderr contents for RUBY:
  ------
  cannot load such file -- rubocop-rspec_rails
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:46:in `rescue in rescue in load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:39:in `rescue in load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:32:in `load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/feature_loader.rb:21:in `load'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:14:in `block (2 levels) in resolve_requires'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:13:in `each'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:13:in `block in resolve_requires'
  <internal:kernel>:90:in `tap'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader_resolver.rb:12:in `resolve_requires'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_loader.rb:52:in `load_file'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/config_store.rb:29:in `options_config='
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:156:in `act_on_options'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:47:in `block in run'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:77:in `profile_if_needed'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/lib/rubocop/cli.rb:43:in `run'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/exe/rubocop:19:in `block in <top (required)>'
  /usr/lib/ruby/3.3.0/benchmark.rb:313:in `realtime'
  /usr/lib/ruby/gems/3.3.0/gems/rubocop-1.62.1/exe/rubocop:19:in `<top (required)>'
  /usr/bin/rubocop:25:in `load'
  /usr/bin/rubocop:25:in `<main>'
  ------

#5982 should take care of this.


ol.interaction.Select doesn't work correctly with multi option enabled

now ol.interaction.Select doesn't work correctly with multi option enabled
every time I selected ,the last selected is cleared.

multi allows overlapping features to be selected with one click.  To select multiple non-overlapping features use shift (the default toggleCondition) and click on each feature https://openlayers.org/en/latest/examples/select-features.html  To do that without using shift set toggleCondition to always https://codesandbox.io/s/select-features-forked-wms6s

Thanks!you solve my problem

multi allows overlapping features to be selected with one click. To select multiple non-overlapping features use shift (the default toggleCondition) and click on each feature https://openlayers.org/en/latest/examples/select-features.html To do that without using shift set toggleCondition to always https://codesandbox.io/s/select-features-forked-wms6s

thankyou very much!


pgsql: transactions

we should be using them
https://www.postgresql.org/docs/current/tutorial-transactions.html

Add to Execute SQL:


GSSoC: Setup Folder Structure and Basic Files for Backend using Node.js and Express #70

Description:
This pull request addresses issue #70, which involves setting up the folder structure and basic files for the backend of our project using Node.js and Express. The changes include creating the necessary directories and files as outlined in the issue.
Changes Made:

Added app.js as the entry point of the application.
Created index.js as the main file to start the server.
Added constants.js for storing constants and configuration variables.
Included .env.sample as a sample environment variables file.
Added .gitignore to ignore unnecessary files and directories.
Created the src directory with subdirectories for controllers, database setup, middlewares, models, routes, and utilities.

Testing:

Manually tested the setup locally to ensure that the server starts without errors.
Verified that the folder structure and files match the requirements specified in the issue.

Screenshots:
Screencast from 2024-05-29 22-59-53.webm

Also can you add what database should i add mongodb or postgres ?

Great work!


az acs kubernetes get-credentials does not work behind socks proxy

Description
trying to get credentials into .kube/config fails on timeout when ssh runs behind a socks proxy using .ssh/config:

Environment summary
Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
Answer here: CLI Bash for RHEL 7 (on Fedora)
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here:
azure-cli (2.0.9)
acr (2.0.7)
acs (2.0.9)
appservice (0.1.9)
batch (3.0.2)
billing (0.1.2)
cdn (0.0.5)
cloud (2.0.5)
cognitiveservices (0.1.5)
command-modules-nspkg (2.0.0)
component (2.0.6)
configure (2.0.9)
consumption (0.1.2)
core (2.0.10)
cosmosdb (0.1.9)
dla (0.0.9)
dls (0.0.9)
feedback (2.0.5)
find (0.2.5)
interactive (0.3.5)
iot (0.1.8)
keyvault (2.0.7)
lab (0.0.7)
monitor (0.0.7)
network (2.0.9)
nspkg (3.0.0)
profile (2.0.7)
rdbms (0.0.4)
redis (0.2.6)
resource (2.0.9)
role (2.0.7)
sf (1.0.4)
sql (2.0.6)
storage (2.0.9)
vm (2.0.9)
Python (Linux) 2.7.13 (default, May 10 2017, 20:04:36)
[GCC 6.3.1 20161221 (Red Hat 6.3.1-1)]
Python location '/opt/azure-cli/bin/python'
OS Version: What OS and version are you using?
Answer here: Linux Fedora 24
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
Answer here:
** console output: **
[Errno 110] Connection timed out
Traceback (most recent call last):
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/main.py", line 36, in main
    cmd_result = APPLICATION.execute(args)
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/core/application.py", line 211, in execute
    result = expanded_arg.func(params)
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 346, in __call__
    return self.handler(*args, **kwargs)
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 545, in _execute_command
    reraise(*sys.exc_info())
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/core/commands/__init__.py", line 522, in _execute_command
    result = op(client, **kwargs) if client else op(**kwargs)
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/command_modules/acs/custom.py", line 705, in k8s_get_credentials
    _k8s_get_credentials_internal(name, acs_info, path, ssh_key_file)
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/command_modules/acs/custom.py", line 726, in _k8s_get_credentials_internal
    '.kube/config', path_candidate, key_filename=ssh_key_file)
  File "/opt/azure-cli/lib/python2.7/site-packages/azure/cli/command_modules/acs/acs_client.py", line 62, in secure_copy
    ssh.connect(host, username=user, pkey=pkey)
  File "/opt/azure-cli/lib/python2.7/site-packages/paramiko/client.py", line 310, in connect
    retry_on_signal(lambda: sock.connect(addr))
  File "/opt/azure-cli/lib/python2.7/site-packages/paramiko/util.py", line 276, in retry_on_signal
    return function()
  File "/opt/azure-cli/lib/python2.7/site-packages/paramiko/client.py", line 310, in <lambda>
    retry_on_signal(lambda: sock.connect(addr))
  File "/usr/lib64/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
error: [Errno 110] Connection timed out

@grawcho can you close this. I think you change is merged.

thanks for accepting my changes, this closes the issue.


Better UI for the website and logo and many features for the website

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Girlscript summer of code 2020

I am interested for this project

Hi @SSAIBIGHNESHPRUSTY !! Are you a participant for GSSoC 2020? Please check before making issues. This is a duplicate issue. Refer #21 and please proper issues, you need to write a proper description for your issue.


Stability Log File Uploads by Shifting To Nginx

Remove ErrorLog python class
Create Lua Script in Nginx

POST/GET/DELETE
rate limit requests
ip restrict to AWS private IP range

Update UI to new API call pattern
Update boot script to compile custom version of nginx with Lua script and SSL only

Script processing in Nginx has memory limits. Upped the memory limit to 8K, and changed to file upload to only push up the last 8K bytes. You can change this limit by updating the nginx config setting client_body_buffer_size 8K;


[RPC][Bitcoin-TX] Add support for sequence number

https://github.com/bitcoin/bitcoin/pull/7957 - [RPC][Bitcoin-TX] Add support for sequence number
https://github.com/bitcoin/bitcoin/pull/8164 - [Bitcoin-Tx] fix missing test fixtures, fix 32bit atoi issue
https://github.com/bitcoin/bitcoin/pull/8171 - [RPC] Fix createrawtx sequence number unsigned int parsing

utACK


Inner Join with more than 1 pair

Hey there,
I'm attempting to InnerJoin with more than one key pair. I tried putting more than 3 arguments inside innerJoin(), but it seems to error out?
The documentation only shows an inner join with 2 fields:
  const person = await db
    .selectFrom('person')
    .innerJoin('pet', 'pet.owner_id', 'person.id')
    .select(['first_name', 'pet.name as pet_name'])
    .where('person.id', '=', id)
    .executeTakeFirst()

Thanks!

Have you noticed that there's a quite extensive API documentation with lots and lots of examples? You can just ctrl-click the method to get to the documentation. Or visit here
https://koskimas.github.io/kysely/index.html
But here's a copy pasted example from the documentation:
await db.selectFrom('person')
  .innerJoin(
    'pet',
    (join) => join
      .onRef('pet.owner_id', '=', 'person.id')
      .on('pet.name', '=', 'Doggo')
  )
  .selectAll()
  .execute()

Ahh, I didn't catch that before, thanks! Let me check out this resource.


add_articles always puts in Foil etc.

Hello,
I am sorry keep on bothering you.
I have a problem where the add_articles function appears to always puts in Foils = True etc. when i define it as False. When i don´t define it at all it works just fine. Am I not supposed to define it at all when I want it to be False?  It might also me not being used to programming in Python and that i got something wrong with defining functions.
Example Code:
def addArticles(idProduct, count, price, idLanguage = 1, condition = "EX", isFoil = False, isSigned = False, isAltered = False, isPlayset = False, isFirstEd = False):

    articleToAdd = {"article":[{"idProduct": idProduct, "idLanguage": idLanguage, "count": count, "price": price, "condition": condition, "isFoil": isFoil, "isSigned": isSigned, "isAltered": isAltered, "isPlayset": isPlayset, "isFirstEd": isFirstEd}]}
    response_poststock = mkm_sandbox.stock_management.add_articles(data = articleToAdd)

I hope that you can help me.
Thanks in advance.

Update: If i don´t send the isFoil, etc. parameters it seems to work.

Update: If i don´t send the isFoil, etc. parameters it seems to work.


Discrepancy between Java vs PHP footer implementations

Hello!
We're using both the PHP and Java Paseto implementations, and there's a discrepancy between the footer handling.
The Java implementation adds quotes to a String footer; the PHP implementation assumes the value is already a String. For example, if you set the footer to the String "TEST" in Java, and retrieve the footer in PHP... the value will be ""TEST"". Setting and retrieving in PHP preserves it exactly as a String value. The source of this is JacksonJsonProvider, where objectMapper.writeValueAsString serializes a String including quotes.
This might seem like a minor discrepancy, but it really affects the "platform agnostic" part if one needs to do different footer checks/comparisons based on the platform :)

Hey,
Just fixed this and pushed the changes. It will be fixed in the next release.


Obey Robots.txt

Is scrapy-splash not compatible with obeying robots.txt? Everytime I make a query it attempts to download the robots.txt from the docker instance of scrapy-splash. The below is my settings file. I'm thinking it may be a misordering of the middlewares, but I'm not sure what it should look like.
# -*- coding: utf-8 -*-

# Scrapy settings for ishop project
#
# For simplicity, this file contains only settings considered important or
# commonly used. You can find more settings consulting the documentation:
#
#     https://doc.scrapy.org/en/latest/topics/settings.html
#     https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#     https://doc.scrapy.org/en/latest/topics/spider-middleware.html

BOT_NAME = 'ishop'

SPIDER_MODULES = ['ishop.spiders']
NEWSPIDER_MODULE = 'ishop.spiders'

# Crawl responsibly by identifying yourself (and your website) on the user-agent
# USER_AGENT = 'ishop (+http://www.ishop.com)'

# Obey robots.txt rules
ROBOTSTXT_OBEY = True

# Configure maximum concurrent requests performed by Scrapy (default: 16)
# CONCURRENT_REQUESTS = 32

# Configure a delay for requests for the same website (default: 0)
# See https://doc.scrapy.org/en/latest/topics/settings.html#download-delay
# See also autothrottle settings and docs
# DOWNLOAD_DELAY = 5
# The download delay setting will honor only one of:
# CONCURRENT_REQUESTS_PER_DOMAIN = 16
#CONCURRENT_REQUESTS_PER_IP = 16

# Disable cookies (enabled by default)
COOKIES_ENABLED = False

# Disable Telnet Console (enabled by default)
#TELNETCONSOLE_ENABLED = False

# Override the default request headers:
#DEFAULT_REQUEST_HEADERS = {
#   'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
#   'Accept-Language': 'en',
#}

# Enable or disable spider middlewares
# See https://doc.scrapy.org/en/latest/topics/spider-middleware.html
#SPIDER_MIDDLEWARES = {
#    'ishop.middlewares.IshopSpiderMiddleware': 543,
#}

# Enable or disable downloader middlewares
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html
#DOWNLOADER_MIDDLEWARES = {
#    'ishop.middlewares.IshopDownloaderMiddleware': 543,
#}

# Enable or disable extensions
# See https://doc.scrapy.org/en/latest/topics/extensions.html
#EXTENSIONS = {
#    'scrapy.extensions.telnet.TelnetConsole': None,
#}

# Configure item pipelines
# See https://doc.scrapy.org/en/latest/topics/item-pipeline.html
ITEM_PIPELINES = {
   'ishop.pipelines.HbasePipeline': 100
}

# Enable and configure the AutoThrottle extension (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/autothrottle.html
AUTOTHROTTLE_ENABLED = True
# The initial download delay
#AUTOTHROTTLE_START_DELAY = 5
# The maximum download delay to be set in case of high latencies
#AUTOTHROTTLE_MAX_DELAY = 60
# The average number of requests Scrapy should be sending in parallel to
# each remote server
#AUTOTHROTTLE_TARGET_CONCURRENCY = 1.0
# Enable showing throttling stats for every response received:
#AUTOTHROTTLE_DEBUG = False

# Enable and configure HTTP caching (disabled by default)
# See https://doc.scrapy.org/en/latest/topics/downloader-middleware.html#httpcache-middleware-settings
#HTTPCACHE_ENABLED = True
#HTTPCACHE_EXPIRATION_SECS = 0
#HTTPCACHE_DIR = 'httpcache'
#HTTPCACHE_IGNORE_HTTP_CODES = []
#HTTPCACHE_STORAGE = 'scrapy.extensions.httpcache.FilesystemCacheStorage'

SPIDER_MIDDLEWARES = {
    'frontera.contrib.scrapy.middlewares.schedulers.SchedulerSpiderMiddleware': 25,
    'frontera.contrib.scrapy.middlewares.seeds.file.FileSeedLoader': 650,
    'scrapy_splash.SplashDeduplicateArgsMiddleware': 100,

}

DOWNLOADER_MIDDLEWARES = {
    'scrapy.downloadermiddlewares.useragent.UserAgentMiddleware': None,
    'scrapy.downloadermiddlewares.retry.RetryMiddleware': 90,
    'scrapy_fake_useragent.middleware.RandomUserAgentMiddleware': 400,
    'frontera.contrib.scrapy.middlewares.schedulers.SchedulerDownloaderMiddleware': 999,
    'scrapy_splash.SplashCookiesMiddleware': 723,
    'scrapy_splash.SplashMiddleware': 725,
    'scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware': 750,
    'scrapy.downloadermiddlewares.httpcompression.HttpCompressionMiddleware': 810
}

SCHEDULER = 'frontera.contrib.scrapy.schedulers.frontier.FronteraScheduler'

# Retry many times since proxies often fail
RETRY_TIMES = 10
# Retry on most error codes since proxies fail for different reasons
RETRY_HTTP_CODES = [500, 503, 504, 400, 403, 404, 408]

FRONTERA_SETTINGS = 'ishop.frontera.spiders'  # module path to your Frontera spider config module

SPLASH_URL = 'http://<IP_ADDRESS>:8050'
# SPLASH_URL= 'http://<IP_ADDRESS>:8050'

DUPEFILTER_CLASS = 'scrapy_splash.SplashAwareDupeFilter'

same problem here

Robots.txt is read at the start of crawling. You could disable that feature
from settings or to write a middleware apropos robots.
https://docs.scrapy.org/en/latest/topics/settings.html
https://docs.scrapy.org/en/latest/topics/downloader-middleware.html#topics-dlmw-robots
https://stackoverflow.com/questions/37274835/getting-forbidden-by-robots-txt-scrapy
El sáb., 16 feb. 2019 21:53, Tobias Keller<EMAIL_ADDRESS>escribió:

same problem here
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/scrapy-plugins/scrapy-splash/issues/180#issuecomment-464384160,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Agwyu8nVvM1LYh3fAQOf1qQ2mh2wuNMUks5vOG_bgaJpZM4U-YZk
.

I disabled the robotstxt midware, sub-classed it and changed the line that loads it in the first place. So it took the right URL and worked.

I disabled the robotstxt midware, sub-classed it and changed the line that loads the file in the first place. So it took the right URL and worked.
In my case, I wanted to obey the robots.txt file. Just turn it off was not a solution.

can you share this?
disabling the hole robots is no option.

`
from scrapy.downloadermiddlewares.robotstxt import RobotsTxtMiddleware
from scrapy.http import Request
from twisted.internet.defer import Deferred
from scrapy.utils.httpobj import urlparse_cached
class MyRobotsTxtMiddleware(RobotsTxtMiddleware):
def robot_parser(self, request, spider):
    url = urlparse_cached(request)
    netloc = url.netloc

    if netloc not in self._parsers:
        self._parsers[netloc] = Deferred()
        robotsurl = "https://www.example.com/robots.txt"
        robotsreq = Request(
            robotsurl,
            priority=self.DOWNLOAD_PRIORITY,
            meta={'dont_obey_robotstxt': True}
        )
        dfd = self.crawler.engine.download(robotsreq, spider)
        dfd.addCallback(self._parse_robots, netloc)
        dfd.addErrback(self._logerror, robotsreq, spider)
        dfd.addErrback(self._robots_error, netloc)
        self.crawler.stats.inc_value('robotstxt/request_count')

    if isinstance(self._parsers[netloc], Deferred):
        d = Deferred()
        def cb(result):
            d.callback(result)
            return result
        self._parsers[netloc].addCallback(cb)
        return d
    else:
        return self._parsers[netloc]

`
SPIDER_MIDDLEWARES = {     'myspider.middlewares.MyRobotsTxtMiddleware': 1,     'scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware':None }

    from scrapy.downloadermiddlewares.robotstxt import RobotsTxtMiddleware
    from scrapy.http import Request
    from twisted.internet.defer import Deferred

    from scrapy.utils.httpobj import urlparse_cached

    class MyRobotsTxtMiddleware(RobotsTxtMiddleware):

        def robot_parser(self, request, spider):
            url = urlparse_cached(request)
            netloc = url.netloc

            if netloc not in self._parsers:
                self._parsers[netloc] = Deferred()
                robotsurl = "https://www.example.com/robots.txt"
                robotsreq = Request(
                    robotsurl,
                    priority=self.DOWNLOAD_PRIORITY,
                    meta={'dont_obey_robotstxt': True}
                )
                dfd = self.crawler.engine.download(robotsreq, spider)
                dfd.addCallback(self._parse_robots, netloc)
                dfd.addErrback(self._logerror, robotsreq, spider)
                dfd.addErrback(self._robots_error, netloc)
                self.crawler.stats.inc_value('robotstxt/request_count')

            if isinstance(self._parsers[netloc], Deferred):
                d = Deferred()
                def cb(result):
                    d.callback(result)
                    return result
                self._parsers[netloc].addCallback(cb)
                return d
            else:
                return self._parsers[netloc]

SPIDER_MIDDLEWARES = {
    'mycrawler.middlewares.MyRobotsTxtMiddleware': 1,
    'scrapy.downloadermiddlewares.robotstxt.RobotsTxtMiddleware':None

    from scrapy.downloadermiddlewares.robotstxt import RobotsTxtMiddleware
    from scrapy.http import Request
    from twisted.internet.defer import Deferred

    from scrapy.utils.httpobj import urlparse_cached

    class MyRobotsTxtMiddleware(RobotsTxtMiddleware):

        def robot_parser(self, request, spider):
            url = urlparse_cached(request)
            netloc = url.netloc

            if netloc not in self._parsers:
                self._parsers[netloc] = Deferred()
                robotsurl = "https://www.example.com/robots.txt"
                robotsreq = Request(
                    robotsurl,
                    priority=self.DOWNLOAD_PRIORITY,
                    meta={'dont_obey_robotstxt': True}
                )
                dfd = self.crawler.engine.download(robotsreq, spider)
                dfd.addCallback(self._parse_robots, netloc)
                dfd.addErrback(self._logerror, robotsreq, spider)
                dfd.addErrback(self._robots_error, netloc)
                self.crawler.stats.inc_value('robotstxt/request_count')

            if isinstance(self._parsers[netloc], Deferred):
                d = Deferred()
                def cb(result):
                    d.callback(result)
                    return result
                self._parsers[netloc].addCallback(cb)
                return d
            else:
                return self._parsers[netloc]

@ArthurJ where did you add this code, though? I'm quite a newbie on web crawling and I have been having huge trouble with my crawler not returning what it should.
Thanks.

The same thing happens to me where the spider first downloads the correct robots and then tries to download localhost robots. However I still see on my logs that some links are Forbidden by robots.txt so I'm a bit confused whether the spider really obeys robot.txt or not.


Configure Environment log deletion "Delete audit logs" in a specific time window.

Description
Configure Environment log deletion in a specific time window.
From the administration portal, select the desired environment.
In the Audit section within "Free up Capacity", select "Delete audit logs".
Resource / Data source

Resource Name: powerplatform_[delete_audit_logs]
API documentation:
Estimated complexity/effort: easy / medium. This could be a data source to configure the deletion of logs.
Related resources/data sources: https://github.com/microsoft/terraform-provider-power-platform/tree/main/internal/powerplatform/services/environment_settings

Potential Terraform Configuration
# Sample Terraform config that describes how the new resource might look.

resource "delete_audit_log" {
  name = "example"
  parameter1 = "environment_id"
  parameter2 = "by_table"
  parameter3 = "table_id"
  parameter3 = "access_logs"
  parameter4 = "all_logs_up_to_and_including_the_señected_date"
  parameter5 = "select_date"

}

Select logs to delete

Definition of Done

[ ] Data Transfer Objects (dtos)
[ ] Data Client functions
[ ] Resource Implementation
[ ] Resource Added to Provider
[ ] Unit Tests for Happy Path
[ ] Unit Tests for error path
[ ] Acceptance Tests
[ ] Example in the /examples folder
[ ] Schema Documentation in code
[ ] Updated auto-generated provider docs with make docs

Contributions
Do you plan to raise a PR to address this issue? YES
See the contributing guide for more information about what's expected for contributions.

If this can be done with a data_record we should add documentation on how to do it.


Make the llvm-include-tests flag actually do something

What's in this pull request?

The only way to set "LLVM_INCLUDE_TESTS=NO" and "CLANG_INCLUDE_TESTS=NO" in CMake currently is with the build-toolchain-only flag, but that has lots of other stuff it disables. This allows a configuration where the clang and llvm tests aren't built but everything else is (tools,etc).
Resolved bug number: (SR-)

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    All supported platforms     | @swift-ci Please smoke test and merge
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

A smoke test on macOS does the following:

Builds the compiler incrementally.
Builds the standard library only for macOS. Simulator standard libraries and
device standard libraries are not built.
lldb is not built.
The test and validation-test targets are run only for macOS. The optimized
version of these tests are not run.

A smoke test on Linux does the following:

Builds the compiler incrementally.
Builds the standard library incrementally.
lldb is built incrementally.
The swift test and validation-test targets are run. The optimized version of these
tests are not run.
lldb is tested.

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    All supported platforms     | @swift-ci Please test and merge
    OS X platform               | @swift-ci Please test OS X platform
    OS X platform               | @swift-ci Please benchmark
    Linux platform              | @swift-ci Please test Linux platform

Lint Testing
    Language     | Comment
    ------------ | -------------
    Python       | @swift-ci Please Python lint

Note: Only members of the Apple organization can trigger swift-ci.

Before this patch, it would not actually do anything unless
compute_cmake_llvm_tool_disable_flags()
was called, which is currently dead code, in the state of
build-script-impl currently.

@swift-ci please test

@gottesmm check this out, let me know if we need to add any other flags to this.

@swift-ci please smoke test

@gottesmm I fixed it up and force pushed to my fork.

@swift-ci please smoke test

@zisko I think milseman is going to revert the offending change. Once he does, rerun the smoketest only on linux plz.


⚠ Bofrost.lu has degraded performance

In 5a8d8d1, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2441 ms

Resolved: Bofrost.lu performance has improved in 71bc3ac after 45 minutes.


[Python console] empty command is stored in command history

In the python console if you press  without any input, an empty command gets stored in the history.
It's a really minor issue but sometimes I press  just to get some space between commands and expect the last command to appear when I press <ARROW_UP>.

Fixed in builds >= 1676.


Stories/circuit2verilog

Fixes #
Describe the changes you have made in this PR -
Screenshots of the changes (If any) -
Note: Please check Allow edits from maintainers. if you would like us to assist in the PR.

Coverage remained the same at 88.104% when pulling 34298b8f3867d97eb4243320283731b9af88ce6d on drjyeh:stories/circuit2verilog into f671fc50c3078dfba250ae3ae6319d93f9721073 on CircuitVerse:stories/circuit2verilog.


"Andreiașu de Jos" is listed in the drop-down menu

Description:
"Andreiașu de Jos" is listed in the drop-down menu alongside its corresponding county according to the law
Precondition:
The website is up an running.

Step 1
Type "Andreiașu de Jos" in the search bar.

Expected results
The location is listed in the drop-down menu as "Comuna Andreiașu de Jos , VRANCEA".


Missing keycode 0

§
aka "section symbol"
iMac  / OSX 10.10.5 / Firefox 50.0

English keyboard: Firefox returns 0 for it while Chrome and Safari say 192 for the key § (OS X)


NO-ISSUE: Remove rule on ocm-2.5-e2e-ai-operator-ztp-capi-periodic

job ocm-2.5-e2e-ai-operator-ztp-capi-periodic was removed from the periodics with https://github.com/openshift/release/pull/35293/files, this rule is now obsolete.

/cc @eliorerz @osherdp


lower-case headers passed on to trino gateway is not handled case insensitively

https://trinodb.slack.com/archives/C059KUNPTSP/p1724808596538969
Changing from HttpServletRequest to (Airlift httpclient) Request causes this bug where getHeader is case now case sensitive

Cause

HttpServletRequest -> (Airlift) Request is case sensitive so getHeader is not returning correctly
https://github.com/airlift/airlift/pull/1257

Looks like we just need a airlift release and then updated airlift and adjust any left over code.

pom updated for airlift release.

https://github.com/trinodb/trino-gateway/pull/457

Issue is fixed but we should migrate from HttpServletRequest to (Airlift) Request type.

Issue is fixed but we should migrate from HttpServletRequest to (Airlift) Request type.

Sure.. but that is not required for a release or for this fix, right @Chaho12 ? Should we close this ticket and do a follow up one for the refactor?

Yeah closing issue a fix is resolved


Code-marketplace-rework-mc

In this PR I decided to give the original SPEC a bit deeper rewrite taking advantage of my current perspective of someone who is really using the spec to learn.
I decided to apply my changes via PR, as I think it will be easier for you guys to see nicely what changed. If I would like to write a review comment on each change I would like to propose, then I guess we would spend a week explaining each other's comments :). With the PR, everything is nicely visible in the context of the original document, and in the end, it is for me an exercise to learn the system...
I paid special attention to the following:

keeping things formal: sometimes repeating the words when it helps removing ambiguity from the sentence - in the end we are writing a technical spec
less possessives - as they are best avoided in the formal language, for instance: "the slot index" is more formal than "slot's index". I tried to make sure the whole spec is consistent in this matter (yet, here and there I left the possessives where I felt that they worked better),
capitalisation - I tried to aligned it throughout the whole document,
interpunction, making sure we use commas consistently. In particular, in conjunctions and alternatives it is more correct to use comma after each element: so "option one, option two, and option three", and not "option one, option two and option three". This second one comes mostly from non-english languages.
when I felt a sentence would enjoy rewriting to improve the sense - I gave it a try - it was a good exercise for me,
articles are pain for non-native English speakers, especially for people like me: Polish does not have articles, so we (the Poles) had really tough times learning them, and I think we will never really learn it completely. So recently, I started to use ChatGPT to help me with the articles, and I must say, it looks very promising....
Thus in the last commit, I went though the whole spec with ChatGPT, to see if it can improve the formality and the English here and there. The changes are not big, but some ChatGPT recommendation fills spot on.

[perhaps my changes injected errors - but that's my point - if there are logical errors, it means I understood the original differently from the intentions of the author ;)]

@AuHau, @emizzle My apologies, I know see that my changes were a bit "all-at-once", especially, that perhaps nobody really expected a review from me. I tend to rush a bit too much when I see some texts to review (old habits).
Anyway, most of the comments are applied. Couple of things left open, so that seeing the applied changes you can still change your mind about casing, and the table describing the Request attributes. I think these are the only two thing that would still enjoy your attention....


Peer datacenter cannot see seeds from the other datacenter

When we are deploying frameworks in multiple datacenters, we are seeing that the seeds were not getting synced across correctly. Hence, Cassandra nodes are unable to talk to each other across DCs.
The workaround is to restart the framework on the second DC and then restart a Cassandra process.

I investigated this issue and looks like it was a regression caused by https://github.com/mesosphere/dcos-cassandra-service/commit/5d6d15e646f1df2fa10fa98d91993d3a6b4719c4#diff-27a1d2271fa0c26b650c4b899bc11599R157


Evil repeat not working in visual mode

A common pattern I use in Vim is to select some text, indent it then continue indenting it using the repeat operator, but this doesn't seem to work in Doom because . is bound to +evil:apply-macro in visual mode.
Steps to reproduce

S-v to visually select the current line
> to indent the selection
. to indent further

Expected behavior
Expected it to reapply the indent operation to the visually selected block of text.
Actual Behaviour
It prompts for the name of the macro to apply, rather than repeating the operation.
I haven't ever run into this problem in Emacs with Evil mode before, so it seems like Doom is doing the rebinding in visual mode for a reason, I just can't work out why.
The . operator works fine outside of visual mode. It's also worth noting that running M-x evil-repeat manually after performing an operation in visual mode just prints : is undefined.
System information

OS: darwin (x86_64-apple-darwin17.5.0)
Emacs: 26.1 (May 28, 2018)
Doom: 2.0.9 (HEAD -> develop, origin/develop, origin/HEAD 32e266cf 2019-05-31 22:01:10 -0400)
Graphic display: nil (daemon: nil)
System features: NOTIFY ACL GNUTLS LIBXML2 ZLIB THREADS
Details:env bootstrapper: envvar-file
elc count: 0
uname -a:  Darwin 17.7.0 Darwin Kernel Version 17.7.0: Thu Jun 21 22:53:14 PDT 2018; root:xnu-4570.71.2~1/RELEASE_X86_64 x86_64
modules:   (:completion company ivy :ui doom doom-dashboard doom-quit hl-todo modeline nav-flash ophints (popup +all +defaults) treemacs vc-gutter vi-tilde-fringe window-select workspaces :editor evil file-templates fold multiple-cursors rotate-text snippets :emacs dired electric vc :tools eval flycheck (lookup +docsets) magit :lang data emacs-lisp markdown (org +attach +babel +capture +export +habit +present +protocol) sh :config default)
packages:  n/a
exec-path: (~/.cargo/bin ~/dev/go/bin ~/.deno/bin ~/.cargo/bin ~/dev/go/bin ~/.rbenv/shims /usr/local/bin /usr/bin /bin /usr/sbin /sbin /usr/local/go/bin /usr/local/Cellar/emacs/26.1_1/libexec/emacs/26.1/x86_64-apple-darwin17.5.0/)

I haven't ever run into this problem in Emacs with Evil mode before, so it seems like Doom is doing the rebinding in visual  mode for a reason, I just can't work out why.

That's surprising. Evil doesn't bind . in visual mode, by default, because evil doesn't support repeating from visual mode at all. This is why I've bound +evil:apply-macro to it.
It also appears to be a known issue.

What Doom does change from default evil behavior is it persists visual mode after > or < (ala vnoremap < <gv and vnoremap > >gv in vim).
So I'm afraid this is a trade off. You have two options:

undo this visual-retaining behavior by restoring the old keybinds:
(map! :v "<" #'evil-shift-left
      :v ">" #'evil-shift-right)

Or simply reuse >/<, because your selection will still be active. E.g. >>> will do what you're used to doing with >...

Without a proper fix from upstream, I'm afraid that's as good as it gets. Evil's repeat functionality isn't quite primitive, unfortunately.

Very odd as I never had any problems transitioning V>... from Vim to the minimal Emacs + Evil that I've been using for the last few months.
Persisting visual mode seems like a good call, it works well as an alternative. Thanks again!


API: redirect api link

Please change the user register API redirect link to:
https://www.palomachain.com/purchase/confirmation?token=898e610eed7110afe47504a87969b3e0faf566b1cfa6b04313e6ed21919ad4d130a8ee

updated


NIFI-7642: KafkaConsumers - improve batching into FlowFiles under high latency conditions

Thank you for submitting a contribution to Apache NiFi.
Please provide a short description of the PR here:
Description of PR
Improves receiving large batches of Kafka messages per FlowFile when network latency is high. fixes bug NIFI-7642
Wires existing processor properties to:

Remove 1000 records "magic number"
Remove 10ms poll timeout "magic number"

In order to streamline the review of the contribution we ask you
to ensure the following steps have been taken:
For all changes:

[x] Is there a JIRA ticket associated with this PR? Is it referenced
in the commit message?

[x] Does your PR title start with NIFI-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.

[x] Has your PR been rebased against the latest commit within the target branch (typically main)?

[x] Is your initial contribution a single, squashed commit? Additional commits in response to PR reviewer feedback should be made on this branch and pushed to allow change tracking. Do not squash or use --force when pushing to allow for clean monitoring of changes.

For code changes:

[x] Have you ensured that the full suite of tests is executed via mvn -Pcontrib-check clean install at the root nifi folder?
[x] Have you written or updated unit tests to verify your changes?
[x] Have you verified that the full build is successful on JDK 8?
[x] Have you verified that the full build is successful on JDK 11?
[ ] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?
[ ] If applicable, have you updated the LICENSE file, including the main LICENSE file under nifi-assembly?
[ ] If applicable, have you updated the NOTICE file, including the main NOTICE file found under nifi-assembly?
[ ] If adding new Properties, have you added .displayName in addition to .name (programmatic access) for each of the new properties?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered?

Note:
Please ensure that once the PR is submitted, you check GitHub Actions CI for build issues and submit an update to your PR as soon as possible.

Thanks @pvillard31 for having a look at it. We were noticing too small Flowfiles compared to the "maxPollRecords"  when handling production Flows ( up to over 250'000msg/s ), on a secured Kafka cluster in a non trivial network layout.
The fixed 10ms timeout per single poll roundtrip led to undeterministic polling results, reporting "no more records" after  ~200 messages on average, never mind "maxPollRecords" and "maxWatingMilllis" beeing very high.
In a simple, unsecured Lab setting, we could not reproduce the issue.
As I understand it, "maxWaitmillis" is the maximum time a Nifi-KafkaConsumer-Processor can use up to fill a FlowFile, whereas x in kafkaConsumer.poll(x) is the timeout for a single Kafka-transaction.
Perhaps we should not put the user supplied-maWaitMillis directly here, but also a lower bound of the previously hard-coded 10ms ?


Support parquet output

Add a parquet writer to the parquetio package, and add the parquet output format option to zq.

See verification notes in https://github.com/brimsec/zq/issues/2263#issuecomment-806215159.


Uniform template function for encode images stage

This is an initial PR for #99.
I picked encodeImages to start with as it was a simple function and already returned promises.
I wanted to get feedback on how these uniform templates should be structured etc based on the comments in #99.
One of the things that I need answered is whether for a function like EncodeImagesStage.run we should keep the options parameter around as it will generate an unused function warning in jsHint.  My guess is that the answer is no and we can add the options parameter when needed. The counter argument to that is it would no create a uniform parameter list for all the uniform templates in.
Once I have more feedback on this, I'll work on the other stages.

One of the things that I need answered is whether for a function like EncodeImagesStage.run we should keep the options parameter around as it will generate an unused function warning in jsHint. My guess is that the answer is no and we can add the options parameter when needed. The counter argument to that is it would no create a uniform parameter list for all the uniform templates in.

Keep it; we do in Cesium.  Since this is implementing an interface, its declaration should match the interface.
You should be able to provide a configuration to disable the warning.  I don't see it being used in Cesium, but maybe it is a JavaScript vs. Node or JSHint version difference.

Keep it; we do in Cesium. Since this is implementing an interface, its declaration should match the interface.
You should be able to provide a configuration to disable the warning. I don't see it being used in Cesium, but maybe it is a JavaScript vs. Node or JSHint version difference.

@pjcozzi This JSHint warning caused the travis build to fail, hence the concern. I'll see if I can make the warning quiet.

@shehzan10, my only concern with this approach is that you would be renaming all of the pipeline stages, completely changing the public API and making it hard to use gltf-pipeline as a utility in other projects with standalone functions.
I think a good compromise might be to create a lib/stages directory with these pipeline stage objects that declare dependencies and then use the functions.
By doing this, if you just need a few single functions (like we do in Cesium), that is still easy to do, but you are responsible for making sure that stages have their dependencies met yourself.

@lasalvavida interesting idea layering this on top of the current functions for individual stages.  I actually had kind of the opposite idea: most users of gltf-pipeline would actually call just one function (and maybe a cleanup function) that describes the pipeline stages they want, and this would be built on top of what @shehzan10 has done here, e.g.,
// Not saying the API would look exactly like this
gltfPipline.run([{
        name : 'convert1to2'
    }, {
        name : 'addDefaults '
        someArgument : someValue
    }]);

The JSON passed in would match what can be passed to the CLI (also not designed yet).
We'll need this, but I still don't think this helps Cesium since we don't want to pull in all of gltf-pipeline, so @lasalvavida's approach sounds good.  It is layered nicely really: functions have the stage implementations and these objects represent the relationships among stages.

@pjcozzi Thanks for the clarification. Yes, the dependency
I think the first step from here is to draw out the graph for the various stages and how they will be related.
I will talk to @lasalvavida and @lilleyse and discuss the proposed structure of the code/API.

Closing due to inactivity / switch to the 2.0 branch.


feat(agora): add Express API server and Angular API client to connect Agora to MongoDB (AG-1514)

Description
Adds an Express API server (agora-server) and Angular API client (agora-api-client-angular) to connect to MongoDB (agora-mongo).
Related Issue

AG-1514

Changelog

Add agora-server service

Add new Express Project as described here
nx add @nx/express
nx g @nx/express:app agora-server --directory=apps/agora/server --frontendProject=agora-app --projectNameAndRootFormat=as-provided

Remove e2e project (apps/agora/server-e2e) and related dependency ("axios": "^1.6.0") added by generator
Remove unused React dependencies added by generator ("@pmmmwh/react-refresh-webpack-plugin": "^0.5.7", "@svgr/webpack": "^8.0.1", "jest-environment-node": "^29.4.1", "react-refresh": "^0.10.0", "url-loader": "^4.1.1")
Align port in generated apps/agora/app/proxy.conf.json to port in generated apps/agora/server/src/main.ts

Add model for dataversion collection and DataVersionService to get data release info from MongoDB

Containerize service

mongoose must be a dependency (not a devDependency) so that it will be included in the package.json generated for the built Express app, which can then be used to install dependencies in the agora-server Docker image

Add agora-server port to devcontainer port forwarding and hostnames

Configure the Agora API client for Angular in the web app: agora-api-client-angular

Based on libs/model-ad/api-client-angular, but removed OpenAPI specific files

Update agora-app to display data release info retrieved from the Express API server

Preview
Build images
$ agora-build-images

 NX   The following projects do not have a configuration for any of the provided targets ("build-image")

- agora-api-client-angular

   ✔  nx run agora-api-client-angular:build:production  [local cache]
   ✔  nx run agora-server:build:production  [local cache]
   ✔  nx run agora-app:build:production  [local cache]
   ✔  nx run agora-app:server:production  [local cache]
   ✔  nx run agora-mongo:build-image (3s)
   ✔  nx run agora-server:build-image (3s)
   ✔  nx run agora-data:build-image (3s)
   ✔  nx run agora-app:build-image (3s)

———————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

 NX   Successfully ran target build-image for 4 projects and 4 tasks they depend on (6s)

Nx read the output from the cache instead of running the command for 4 out of 8 tasks.

Start the stack
$ nx run agora-app:serve-detach

> nx run agora-app:serve-detach

[+] Running 4/4
 ✔ Container agora-mongo   Started                                                                                0.5s
 ✔ Container agora-server  Healthy                                                                                3.7s
 ✔ Container agora-data    Exited                                                                                77.8s
 ✔ Container agora-app     Started                                                                                78.3s

—————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————

 NX   Successfully ran target serve-detach for project agora-app (1m)

View the data release version
Open your browser and navigate to localhost:5200 to view the data release version retrieved from the API server.

Starting the stack throws an error because the .env of agora-server does not exist. This can be fixed by running:
nx create-config agora-server

The PR works as described. I will submit a proper review soon.

The workspace now uses Nx 19 and Angular 18 in main. This branch has been updated to reflect these changes.


Patch 1

fixed failing lint

I am still working on last commit so please don't merge it now

@aaryanrr it is now ready to pull/merge


Connecting to HomeAssistant UI via WireGuard Client

Hi!
I'm looking the way to connect to Home Assistance instance using WireGuard. Here is a scenario:

client (1) is a mobile phone
client (2) is a desktop
client (3) is a Home Assistant

All the clients are successfully connected to WireGuard server running on VPS. All clients are able to cross-communicate (e.g. ping mobile from desktop and vice-versa).
Home Assistant's addons are running on separate docker containers, UI and WireGuard are completely separate, so when VPN is connected from addon container, I cannot access UI from other VPN client.
Can you please suggest the way to access Home Assistant UI in such a scenario?
From network perspective this should be something like opening port on addon container that will forward requests to UI container on 8123, but I can hardly imagine how this can be achieved in HASS.
Thank you in advance!
PS: One more weird thing found: Home Assistant is unable to download update and access Internet in general, when addon is running.

I have the exact same issue. Could provide a solution please or a more detailed documentation?
I am able to get a connection to my VPN Server running on a vserver but I cannot access homeassistant via the URL

I apologize for the delay in replying! Please take a look at this guide (unfortunately only in Italian) which I think is right for you.
https://github.com/bigmoby/homeassistant_nat_network/blob/main/README.md
And https://github.com/bigmoby/homeassistant_nat_network/blob/main/README_IT_part_2.md

[...] Anyway, it seems this addon is just a PoC without any actual usage scenario.

Ipse dixit! ...ok, see you 👍


Revert "Make push notifications navigate to the correct chat - iOS"

Reverts Expensify/App#7633

🚀 Cherry-picked to staging by @roryabraham in version: 1.1.40-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by @yuwenmemon in version: 1.1.40-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


shFlags 1.2.2 - showing help does not exit program

showing help (-h) does not exit my program like it does in 1.2.1
FLAGS "$@" || exit 1
seems that FLAGS is not setting return code ?

For reference, this was broken in 3355cdea10e4d413c30b6ef5a5528be3575c53de.


Getting "Cannot resolve symbol " at import statement

I'm using IntelliJ 14.0.3 and getting an error when trying to import a Builder class. An the type is not recognised on code. I thought that issue #83, would resolve, but I compiled the 0.9.2 milestone to test it, but it doesn't work at import statement. I can resolve by declaring all builder type declaration when using Class.Builder, and not importing.
For example:
That give an error.
import com.TestClass.TestClassBuilder;
-----
final TestClassBuilder builder = TestClass.builder();
final TestClass obj = builder.build();

And that works.
final TestClass.TestClassBuilder builder = TestClass.builder();
final TestClass obj = builder.build();

I think it is duplicate of #48


Spatie Team Enabled Issues

Laravel CRM Version: 10.10
PHP Version: 8.2.10

Description:
Enabling Spatie teams breaks role and permissions model.
Steps To Reproduce:

Enable Teams in the env file
LARAVEL_CRM_TEAMS=true

Run artisan command: php artisan laravelcrm:install

Enter first name

Enter last name

Enter email address

Enter password

SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'team_id' cannot be null (Connection: mysql, SQL: insert into model_has_roles (model_id, model_type, role_id, team_id) values (1, App\Models\User, 1, ?))

To fix this issue, I had to add a check to the LaravelCrmInstall.php file
`
if ($user = \App\User::where('email', $email)->first()) {
$this->info('User already exists, granting crm access...');
            $team = null;  // Initialize the $team variable

            // Check if LARAVEL_CRM_TEAMS key in .env is set to true
            if (env('LARAVEL_CRM_TEAMS', false)) {
                $team = Team::firstOrCreate(['name' => 'Owner','user_id' => $user->id, 'team_id' => 1]);
                $user->current_crm_team_id = $team->id;  // Associate the user with the team
                $user->save();
            }

            $user->update([
                'crm_access' => 1,
            ]);

            if (!$team) {
                if (!$user->hasRole('Owner')) {
                    $user->assignRole('Owner');
                }
            } else {
                if (!$user->hasRole('Owner')) {
                    $user->assignRole('Owner', $team);
                }
            }

            $this->info('User access and role updated.');
        } else {
            $user = \App\User::forceCreate([
                'name' => trim($firstname.' '.$lastname),
                'email' => $email,
                'password' => Hash::make($password),
                'crm_access' => 1,
            ]);

            $team = null;  // Initialize the $team variable

            // Check if LARAVEL_CRM_TEAMS key in .env is set to true
            if (env('LARAVEL_CRM_TEAMS', false)) {
                $team = Team::firstOrCreate(['name' => 'Owner','user_id' => $user->id, 'team_id' => 1]);
                $user->current_crm_team_id = $team->id;  // Associate the user with the team
                $user->save();
            }

            if ($team) {
                $user->assignRole('Owner', $team);
            } else {
                $user->assignRole('Owner');
            }

            $this->info('User created with owner role');
        }`

I also had to edit Spatie's HasRole trait function assignRole() to accept a team object. As of now the function only accepts a role but it teams is enabled and you don't pass a team object  you will get the error above.
assignRole()
` public function assignRole($roles, $team = null)
{
// Ensure roles is always an array
if (!is_array($roles)) {
$roles = [$roles];
}
    $roles = collect($roles)
        ->reduce(function ($array, $role) use ($team) {
            $role = $this->getStoredRole($role);
            if (! $role instanceof Role) {
                return $array;
            }

            $this->ensureModelSharesGuard($role);

            $array[$role->getKey()] = PermissionRegistrar::$teams && ! is_a($this, Permission::class) ?
                [PermissionRegistrar::$teamsKey => ($team ? $team->id : null)] : [];

            return $array;
        }, []);

    $model = $this->getModel();

    if ($model->exists) {
        $this->roles()->sync($roles, false);
        $model->load('roles');
    } else {
        $class = \get_class($model);
        $class::saved(function ($object) use ($roles, $model) {
            if ($model->getKey() != $object->getKey()) {
                return;
            }
            $model->roles()->sync($roles, false);
            $model->load('roles');
        });
    }

    if (is_a($this, get_class($this->getPermissionClass()))) {
        $this->forgetCachedPermissions();
    }

    return $this;
}`

Part 2 of the teams enabled bug

This a user has has rights to view everything, but the nav menu items are not displaying. This is because we have enabled teams which is a user -> teams -> permissions model so all the @can and the middlewares do not work.

Steps we did to fix this issue

After login set users session team_id to there assigned id.
Make a Teams model that extends the VentureDrake Team model
Set the default gaurd_name = 'web'
*Eloquent was not work correctly so I made the permissions function

   public function permissions(): BelongsToMany
    {
        return $this->morphToMany(
            config('permission.models.permission'),
            'model',
            config('permission.table_names.model_has_permissions'),
            config('permission.column_names.model_morph_key'),
            'permission_id'
        )
        ->withPivot('team_id')
        ->wherePivot('team_id', $this->id)
        ->as('access');
    }

Make a TeamPermissionsController use VentureDrake\LaravelCrm\Models\Permission and App\Models\Teams.

`    public function edit(Teams $team)
{
$allTeams = Teams::all()->groupBy('team_id')->map(function ($teamGroup) {
return $teamGroup->first();
});
$allPermissions = Permission::all();
return view('admin.dashboard.teams_permissions', compact('team', 'allPermissions', 'allTeams'));
}
public function update(Request $request, Teams $team)
{
    $currentPermissions = $team->permissions->pluck('id')->toArray();

    // Get the desired permissions from the request.
    $desiredPermissions = $request->input('permissions');

    foreach ($currentPermissions as $permissionId) {
        if (!in_array($permissionId, $desiredPermissions)) {
            $team->permissions()->detach($permissionId);
        }
    }

    foreach ($desiredPermissions as $permissionId) {
        if (!in_array($permissionId, $currentPermissions)) {
            $team->permissions()->attach($permissionId, ['team_id' => $team->id]);
        }
    }

    return redirect()->route('teams_permission.edit', $team)->with('success', 'Permissions updated successfully');
}`

Create middleware

app/Http/Middleware/CheckCustomPermission.php
`namespace App\Http\Middleware;

use Closure;
use Illuminate\Http\Request;
class CheckCustomPermission
{
/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request  $request
* @param  \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse)  $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle($request, Closure $next, $action = null, $model = null)
{
$user = $request->user();
    $hasPermission = false;

    if ($action && $model) {
        $hasPermission = $user->can($action, $model);
    } elseif ($action) {
        $hasPermission = $user->can($action);
    }
    if (!$hasPermission) {
        abort(403, 'Unauthorized action.');
    }

    return $next($request);
}

}
`
Replace
'can' => \Illuminate\Auth\Middleware\Authorize::class,
in app\Http\Kernel.php protected $middlewareAliases with
'can' => \App\Http\Middleware\CheckCustomPermission::class,

Edit User Model
`use VentureDrake\LaravelCrm\Models\Team;
public function team()
{
return $this->belongsTo(Team::class);
}
    public function canForTeam($permission, $teamId)
{

    $team = Teams::find($teamId);

    if ($this->team_id == $teamId) {

        $teamPermissions = $team->permissions->pluck('name')->toArray();

        if (in_array($permission, $teamPermissions)) {
            return true;
        }
    }

    return false;
}

`

Update app/Providers/AuthServiceProvider.php
` public function boot()
{
$this->registerPolicies();
    // List of permissions
    $permissions = \DB::table('permissions')->pluck('name');

    foreach ($permissions as $permission) {
        Gate::define($permission, function ($user) use ($permission) {
            // Direct permission check
            if ($user->getPermissionsViaRoles()->contains($permission)) {
                return true;
            }

            // Team permission check
            if ($user->canForTeam($permission, $user->team_id)) {
               return true;
            }

            return false;
        });
    }`

(config('laravel-crm.teams') && auth()->user()->currentTeam && auth()->user()->currentTeam->user_id == auth()->user()->id
currentTeam function was not working so I update it like so
elseif (config('laravel-crm.teams') && auth()->user()->team->user_id == auth()->user()->id && ! auth()->user()->hasRole('Owner')) {
and on the where I replace it
'team_id' => auth()->user()->team->user_id,

For the middle ware to work each one needs to check
if (Env::get('LARAVEL_CRM_TEAMS')) {
return $user->canForTeam('view crm fields', $user->team_id);
}

once you attach permissions to a team you will start seeing the nav bar

by adding this to you policy you don't have to update your routes

I am going to post this to our clean crm project. It is public. Also, because our team_id id team_id on the user you will need to update your to what every you made it $user->current_crm_team_id the clean project as you can see if current_crm_team_id

https://github.com/Lemnocity/clean-crm here is the link to our clean crm project

Thanks for reporting this. So there are a few issues here.
I built the teams function basically to use with Laravel Jetstream, which has a Teams feature. This is then used to create multi-tenant applications.  So as it stands right now you need to be using Jetstream.
I have this working myself in a few projects, however what we need to do is allow for projects that don't use Jetstream. And also I should probably create a few variations of the starter project to make use of Breeze vs Jetstream vs Custom.
Also you have made me aware that the installer will not work with teams, I will need to update that.
Now I think this might be a little confusing, but the "Teams" in the CRM are not the same thing as "teams" in Jetstream. Teams in the CRM are teams of people, say "Sales Team", "Accounts Team", etc
Where as Teams in Jetstream, are seperate tenants in the project. "Company A", "Company B", etc


SVC->Train() causes stop of webpage generating

After using the example code from php-ml-examples, the code stops to work right after function train() was called.
`use Phpml\SupportVectorMachine\Kernel;
use Phpml\Classification\SVC;
$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];
$svcClassifier = new SVC(
    Kernel::LINEAR, // $kernel
    1.0,            // $cost
    3,              // $degree
    null,           // $gamma
    0.0,            // $coef0
    0.001,          // $tolerance
    100,            // $cacheSize
    true,           // $shrinking
    true            // $probabilityEstimates, set to true
);

$svcClassifier->train($samples, $labels);`

After this part of code, nothing works and webpage is sent to client only with stuff, written before this part of code. No error is displayed.
How can I use SVC without this error?

Perhaps you run into timeout issue? I don't think heavy calculation should ever be used outside of the command line context.


Investigate why dxcompiler file is so large on Linux and macOS

dxcompiler.dll is 17.7MB (7.7MB compressed), but libdxcompiler.so is 34.5MB (13.1MB compressed), and libdxcompiler.dylib is 27.1MB (10.0MB compressed). Need to have some understanding about why they are so different, and how to improve this.

The MinSizeRel configuration makes a big difference.
In a custom build on my Linux machine from aebd3e66f191530a8b6b1a34c30ae4d9409d1e29 libdxcompiler.so has sizes (same for clang and gcc):

Release: 29.3MB
MinSizeRel: 19.1MB

The pull request https://github.com/Microsoft/DirectXShaderCompiler/pull/1760 enable to sets the symbol visibility to hidden. If that goes in, the libdxcompiler.so can go down to 22M in Release build.


[wip] Add Finetuning Notebook

For easier viewing
https://colab.research.google.com/drive/1Jr4Et2krr_e0ejhvyixxvTM2bik8ONeK?usp=sharing
But remember- trust, but verify.
TODO:
Add env variable in tests that specify it is a test, if that is set, skip the trainer.train cell

Now failing bc it can't find a GPU. motion to create a list of exempt recipe notebooks, and put this on the list.

Thanks for the review @fayvor!

I can approve with some of the minor wording adjustments above.

Ack, I'll have an updated version pushed early this afternoon.

lgtm!


Item 'Send' function has become broken

Heya. Sending text from an Item to chat doesn't work anymore. I know it didn't work for me prior to the 4.8.0 system update either, since I was playing a session without updating. 😅

Easily reproducable by just grabbing a Steel Shield or any other standard item and trying to use 'Send'.

Sadly I think it's time for this functionality to go away. I originally included it despite it not really being a "Dorako UI feature" and more of a Workbench type of feature, because the lines of code needed were so few.
Last time something came up that required rewriting this feature to support more advanced pf2e data I told myself that I'd scrap the feature next time it became broken.
To my knowledge there are at least two modules that do a similar thing (and just that thing) and I imagine that those are better supported.


making manta and strelka less picky

(Note that all of the following plots were produced after filtering sites with a gatk-indel~DP < 10)
When I first ran manta and strelka (with the loosest config parameters possible), I got the following precision-recall plot:

It didn't look great for manta and strelka.
Next, I decided to feed the candidate indels from manta to strelka and turned on usage of the --exome flag to disable various read filters that are probably more useful for whole genome seq than ATAC-seq data:

At this point, manta is still pretty picky, but strelka seems to have improved a lot.
I think it's important to remember that manta and strelka are supposed to complement each other. manta finds large indels and strelka finds small ones. Thus, it's probably unreasonable to expect each of them to identify all of the indels on their own.
My next plan of action is to make strelka's config parameters stricter. And maybe reduce the number of candidate indels that manta passes to strelka somehow.

closing for now


WIP: Restore tests

depends on elm-program-test getting the equivalent of advanceTime, resolveHttpRequest;  or on elm-testable getting published for 0.19.

My understanding is that this PR exists to keep track of old code, not because the code is meant to be merged as-is.

@avh4 this is unblocked now, right? If we upgrade to elm-program-test 3.10?

yeah, it might be.  I can't remember if I already tried again or not.


[critical] ODE Heat-mapper crashes if object's x, or y coordinate is equal to window width or height

The problem arises from the fact that the object coordinates are 1-based and the 2D map of rows and columns is 0-based.

Merged into v0.25.alpha


Nataly and Ariela navbar

@arielahu
Nice job! However I've chosen @oritm84 PR over yours since:

They had better class names
The design was better (correct font family)

Please checkout their work: http://oritm84.github.io/tu-components/navbar.html


Fix integer validation when chunk started with a dash

Closes #338

Good catch and fix.

Thanks @sagikazarmark for fixing this so quick 👍
one little thing pls: validateNumberAsInteger('---123') should return false too.

@wimby I think it does with his PR. Why wouldn't it?

actually, there seems to be still bugs for numbers -0, +123 and even<PHONE_NUMBER>12345678+13456
@frederikbosch https://3v4l.org/j6QUv

how about preg_match('/^-?[1-9]\d*|0$/', $input) IMHO its more readable and faster (no need for creating new arrays)

Regular expressions are generally very slow.

Round two pushed. I would say -0 is kind of okayish, as the real number might be -0.5
I also added tests for multiple leading zeros before a number.

I guess ctype_digit is LC_CTYPE locale specific, I don't think you want to support all these characters:
https://forums.phpfreaks.com/topic/157880-solved-you-guys-ever-use-ctype-for-validation/?p=832933

why wouldn't you just use https://github.com/moneyphp/money/pull/341? And if you don't want to support plus sign, remove it from signs...

See #341.


Cannot tag Irredemable

From<EMAIL_ADDRESS>on April 03, 2013 06:23:17
What steps will reproduce the problem? 1. Launch ComicTagger
2. Try and tag an irredemable CBZ files 3. What is the expected output? What do you see instead? I get the follow error:
--------------------------------------------------
-----> Irredeemable (2009) #22 None (02/2011) -- score: 0
--------------------------------------------------
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\cx_Freeze\initscripts\Console.py", line 27
, in <module>
File "\Users\tony/Dropbox/tagger/comictagger\comictagger.py", line 5, in <modu
le>
File "\Users\tony/Dropbox/tagger/comictagger\comictaggerlib\main.py", line 54,
in ctmain
File "\Users\tony/Dropbox/tagger/comictagger\comictaggerlib\cli.py", line 184,
in cli_mode
File "\Users\tony/Dropbox/tagger/comictagger\comictaggerlib\cli.py", line 421,
in process_file_cli
File "\Users\tony/Dropbox/tagger/comictagger\comictaggerlib\cli.py", line 67,
in actual_issue_data_fetch
File "\Users\tony/Dropbox/tagger/comictagger\comictaggerlib\comicvinetalker.py
", line 281, in fetchIssueData
File "\Users\tony/Dropbox/tagger/comictagger\comictaggerlib\comicvinetalker.py
", line 314, in mapCVDataToMetadata
File "C:\Python27\lib\re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer What version of the product are you using? On what operating system? 1.15 beta on Windows 7 64 bit Please provide any additional information below.
Original issue: http://code.google.com/p/comictagger/issues/detail?id=11

From<EMAIL_ADDRESS>on April 02, 2013 23:14:34
The Comic Vine API changed under our feet again, and this is the result of an issue title not being present and the code not checking for it.  A new release will be out this week to fix this.

From<EMAIL_ADDRESS>on April 03, 2013 04:18:14
They must have changed  it right in the middle of my tagging, because  Uncanny X-Men tagged fine, and then everything after it stopped working.
BTW, my name is not tony.  Are there some hardcoded paths that the python compiler is making?

From<EMAIL_ADDRESS>on April 03, 2013 10:34:27
If you're tagging issues that have a title, it probably will still work.
The way the Windows and Mac binaries are made "freezes" the python module files into an executable along with the python interpreter.  The paths you are seeing from my Windows build machine.

From<EMAIL_ADDRESS>on April 03, 2013 12:37:01
In case you miss it, there is the same problem in performQuery in issueselectionwindow.py with empty  record['name']

From<EMAIL_ADDRESS>on April 03, 2013 12:38:53
Just uploaded 1.1.6-beta.  Give it a whirl, and post back.

From<EMAIL_ADDRESS>on April 03, 2013 12:44:43
Both working now auto-tag and issues selection window, thank you.
All is well again - comic book day may now proceed.

From<EMAIL_ADDRESS>on April 03, 2013 13:06:04
I'll check when I get home, unless you feel like coding some authenticated proxy support in the next 20 minutes.  :-)

From<EMAIL_ADDRESS>on April 04, 2013 09:02:12
Status: Fixed


Full screen focus error

When Atom is in full screen and I switch to another app (in this case iTerm in full screen - I have hotkeys assigned to each) Atom doesn't quite regain a full focus. The menu bar says "Atom" and if I type it will type within the open tab but it doesn't always respond to commands such as Cmd-P for a file dialog. So I hit Cmd-P and start typing a file name but instead it just writes it in the open tab fie,  Seems to be mosly related to full screen I believe.

I can confirm this. Incredibly annoying.

I've stopped using full-screen for exactly this reason.

I can't reproduce this with Atom 0.210.0-83d143c and OS X 10.10.3? Is anyone still experiencing this with the latest version of Atom (0.209.0) (or master)?

Closing this out for now since this may have been fixed by subsequent Chromium upgrades and no confirmation of it still happening has been reported in the last month.
Please comment if anyone still sees this happening with Atom 1.0.3+ and if it is exclusive to the Atom app or is happening with other full screen apps.


How about the autolayout？

I found that the coachMark should be setup with CGRect, But now many views are working with autolayout system. How can I figure out the CGRect when i use autolayout to fit different screen size?

+1

same issue i am facing ..in landscape

+1 Such a great tool, would be incredibly helpful if there was a way to support autorotation. Auto-layout or not.


Figure out how to integrate SEO into each page/website (meta description, meta title, url)

Utilize Google Search Console to look up keywords, including keywords from competitors
Incorporate meta tags (meta description and meta title)
Make sure all images have alt text
Incorporate keywords in URL

@mayamauchi - can you link your spreadsheet to this issue?

https://docs.google.com/spreadsheets/u/1/d/1HkHw1VQfI_ZQrhRcvW5_oOTfFmRFcQ6dHb4jxgvf6gw/edit?ouid=104610271257413155761&usp=sheets_home&ths=true


Fix CEILAB to RGB conversion

There were 2 issues that I fixed here:

There was a coefficient missing a negative sign that caused the blue channel to go wonky
It was sometimes possible to get rgb values outside 0-255 when converting from lab to rgb

I don't have a clue what is up with that travis build failure.  It got a js error when trying to run the tests.  I'm going to try closing and reopening the PR to make it run again.

I don't have any experience with Travis CI to know what is up, but I can't reproduce this issue locally.  It works from a fresh checkout with the same version of node being used there.  I'm baffled.

Its not your fault, tested it again in the main branch and it happens there as well. I'll fix it then I merge your branch thanks for your fix.

Mhmm also happen locally, but deleting the elm-stuff folder fixed it. Will merge it anyway.


Fix mvmt client test

Summary
Updates the Nonce value to 1. Note Auto-formatting was applied, not sure why it was formatting to other settings, double check your IDE to make sure the fmt settings we have in the workspace are being applied.
We can't generate it in the same way as the Eth client test as the nonce it is asserting against is fetched from the emitted event.
A developer has the node running and repeatedly runs the same integration test over and over.
I wasn't actually able to run the test locally due the integration test randomly hanging forever. But this was the what the assertion was looking for so it should pass. Let's get CI up to remove this burden of having to run all this locally cc @andygolay
Changelog

Update the Nonce

Testing

CELESTIA_LOG_LEVEL=FATAL CARGO_PROFILE=release CARGO_PROFILE_FLAGS=--release nix develop --extra-experimental-features nix-command --extra-experimental-features flakes --command bash -c "just bridge native build.setup.eth-local.celestia-local.bridge.bridge-indexer --keep-tui"

RUST_BACKTRACE=1 DOT_MOVEMENT_PATH="$(pwd)/.movement" cargo test --test client_mvt_tests test_movement_client_initiate_transfer -- --nocapture --test-threads=1

But an integration such as this should always be tearing down and starting state (or the node) on each run. We should be adjusting values to compensate for state changing on consecutive runs. This can cause different kinds of issues.
The node start and stop commands should be happening within the tests themselves (different PR). Tests should not be run over and over and again without restarting the node.
So Nonce should always be 1

Also in the ETH initiate tests we never even assert on the Nonce so its not really a must-have. Let's keep it at 1 for now.