Keeping track of what should be improved/implemented

[x] It's necessary to support operations other then queries. An if should fix it (before running SQL code).

[ ] Make it explicit on README, docs and maybe examples that we can use xeus-soci with all the DBs supported by SOCI.

Add a way to visualize SHOW TABLES

-[ ] Throw warning when table is empty?

[ ] Allow CREATE DATABASE command
This and probably a lot of other commands are not working out of the box because of the parsing. Maybe we should treat this kind of case before parsing everything, otherwise we'll have to undo the parsing every time, like we're already doing on the LOAD command, which ain't no good.

[ ] We're missing a CI for windows

[ ] Creating one static binary is deactivated in the CI


Runtime error when signing out

Hello there! While testing the mobile app, I found a runtime error regarding forward refs and redux state. As listed below.
Code details
Code version: unreleased commit - bc9a5c1d1c065f1e095fddeb1d8f47ec19a00040
Environment: Visual studio code
Host operating system: MacOS 13.1
Host device: Macbook Pro intel core i5 2017 edition 13 inch
Running device: iPhone 13 mini 2021
Running device operating system: iOS 16.4.1
Expo CLI version: 6.3.2
Node version: 18.15.0
Shell: Zsh
Shell version: 5.8.1
Error message
ERROR  Warning: Cannot update a component (`ForwardRef(BaseNavigationContainer)`) while rendering a different component (`Menu`). To locate the bad setState() call inside `Menu`, follow the stack trace as described in https://reactjs.org/link/setstate-in-render
    in Menu (created by SceneView)
    in StaticContainer
    in EnsureSingleNavigator (created by SceneView)
    in SceneView (created by BottomTabView)
    in RCTView (created by View)
    in View (created by Screen)
    in RCTView (created by View)
    in View (created by Background)
    in Background (created by Screen)
    in Screen (created by BottomTabView)
    in RNSScreen (created by AnimatedComponent)
    in AnimatedComponent
    in AnimatedComponentWrapper (created by InnerScreen)
    in Suspender (created by Freeze)
    in Suspense (created by Freeze)
    in Freeze (created by DelayedFreeze)
    in DelayedFreeze (created by InnerScreen)
    in InnerScreen (created by Screen)
    in Screen (created by MaybeScreen)
    in MaybeScreen (created by BottomTabView)
    in RNSScreenNavigationContainer (created by ScreenContainer)
    in ScreenContainer (created by MaybeScreenContainer)
    in MaybeScreenContainer (created by BottomTabView)
    in RCTView (created by View)
    in View (created by SafeAreaInsetsContext)
    in SafeAreaProviderCompat (created by BottomTabView)
    in BottomTabView (created by BottomTabNavigator)
    in PreventRemoveProvider (created by NavigationContent)
    in NavigationContent
    in Unknown (created by BottomTabNavigator)
    in BottomTabNavigator (created by ControlCenter)
    in ControlCenter (created by SceneView)
    in StaticContainer
    in EnsureSingleNavigator (created by SceneView)
    in SceneView (created by SceneView)
    in RCTView (created by View)
    in View (created by DebugContainer)
    in DebugContainer (created by MaybeNestedStack)
    in MaybeNestedStack (created by SceneView)
    in RCTView (created by View)
    in View (created by SceneView)
    in RNSScreen (created by AnimatedComponent)
    in AnimatedComponent
    in AnimatedComponentWrapper (created by InnerScreen)
    in Suspender (created by Freeze)
    in Suspense (created by Freeze)
    in Freeze (created by DelayedFreeze)
    in DelayedFreeze (created by InnerScreen)
    in InnerScreen (created by Screen)
    in Screen (created by SceneView)
    in SceneView (created by NativeStackViewInner)
    in Suspender (created by Freeze)
    in Suspense (created by Freeze)
    in Freeze (created by DelayedFreeze)
    in DelayedFreeze (created by ScreenStack)
    in RNSScreenStack (created by ScreenStack)
    in ScreenStack (created by NativeStackViewInner)
    in NativeStackViewInner (created by NativeStackView)
    in RNCSafeAreaProvider (created by SafeAreaProvider)
    in SafeAreaProvider (created by SafeAreaInsetsContext)
    in SafeAreaProviderCompat (created by NativeStackView)
    in NativeStackView (created by NativeStackNavigator)
    in PreventRemoveProvider (created by NavigationContent)
    in NavigationContent
    in Unknown (created by NativeStackNavigator)
    in NativeStackNavigator
    in EnsureSingleNavigator
    in BaseNavigationContainer
    in ThemeProvider
    in NavigationContainerInner
    in RCTView (created by View)
    in View
    in Provider
    in Unknown (created by withDevTools(Anonymous))
    in withDevTools(Anonymous)
    in RCTView (created by View)
    in View (created by AppContainer)
    in RCTView (created by View)
    in View (created by AppContainer)
    in AppContainer
    in main(RootComponent)

Reproduction
Here are some steps to reproduce this bug.

Load code environment
Login with username and password
Tap the user icon
Press 'signout'
Check logs

Thank you!

Please note that this screen of UserMenu will be redesigned and written as part of the next update 1.16.1 or maybe 1.17.0


release date for speaker

A speaker should get an release Date that only we can set.
The website should display the speaker only when that date already passed.
The Backend should filter this.

I think this can be closed since we have this: https://github.com/TechStreamConference/website-backend/blob/main/app/Database/Migrations/2024-09-13-160732_AddSpeaker.php#L56-L59
Do you agree?

Year.
That should be the same.

Okay, then I'm closing this now :)


Java8 HashMap/Map have a putIfAbsent method that conflicts with DynMap

DynMap provides a void putIfAbsent method. In Java8, the Map<K,V> interface has a putIfAbsent method that returns a value of type V. As a result, compiling against DynMap gets errors like:
error: putIfAbsent(java.lang.String,java.lang.Object) in com.trendrr.oss.DynMap cannot implement putIfAbsent(K,V) in java.util.Map
Either the method should be dropped, it should be changed to return v, or it should be renamed.

https://github.com/trendrr/java-oss-lib/pull/25

#25 has been merged and trendrr-oss uploaded to artifactory


Unit test failure after latest merge

Running the complete suite in CgeoTestSuite I get 3 failures.

TrackableTest
testOC*: ResourceNotFoundException

Please provide a git revision SHA1, "latest merge" is not precise enough.

I know ,-) Could you just run all tests on your machine ? If they pass the problem is in front of my PC...

Not unless you give me the exact SHA1 that fails for you. My local workspace has lots of unpushed changes, so yes, I can tell you that all tests pass, but that won't help you.

Quid pro quo: Use feature branches ,-) It allows you to switch fast between different tasks. How can I determine the SHA1 my repo is based on ?
I merged again. The latest commit is "Tell Proguard that we don't use JavaBeans". Cleaning the workspace + merge (?) results in a clean test run. No more problems.

The tests worked fine for me all morning. But I experienced similar problems sometimes after merging which always went away when cleaning both projects. I believe that the incremental build after a merge sometimes confuses the ADT. That theory is also supported by the fact that sometimes there are console messages which indicate that the Android tooling tries to build while the merge is still being applied to the local workspace.


Validate Composer config in CI

Fixes  #1

Thanks for this PR @szepeviktor!
That said I'm not really sure to understand the goal, as:

the local composer.json is not very important and being strictly validated is useless;
the composer.json files for WordPress releases are now generated through Composer core generator, making sure it is validated. See https://github.com/LeoColomb/wordpress-packager/blob/c7f95d0bd07575a9807b2484173efd529f8db0eb/src/Package/Package.php

is not very important

All right.
For me not very important files are excluded from GitHub :)

BTW My goal is to check every byte that is originated from a human.

I leave all this up to you!

For me not very important files are excluded from GitHub :)

Ha ha, yeah, ideally! But this one is just an helper, and does not handle concrete data. 🙂
I'm closing for this one.


Switch FIPS detection to use the build in Ruby 2.5+ functionality

Ruby 2.5 includes the ability to check FIPS status via openssl. Now that we require Ruby 2.5 or later we can use this same method of checking for FIPS, which avoids a giant pile of mess on each run. We're already doing this in Ohai.

This doesn't appear to work entirely


One app, multiple Apple IDs for Continuous Deployment machine

Question Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Multiple AppleIDs for one target
I'm using Fastlane to distribute an iOS app to Crashlytics using a separate Continuous Deployment machine. I'd like it to have a separate AppleID and Certificate, independent of what developers use.
My FastFile is configured in the following fashion (unnecessary details ommited):
  desc "Submit a new Beta Build to Twitter Fabric, common methods for human and bot"
  lane :fabric_common do

    cert()
    sigh()

    #Disable bitcode to speedup build time
    includebitcode = false
    gym(scheme: "AppName",
    export_xcargs: "-allowProvisioningUpdates",
    include_symbols: true,
    include_bitcode: includebitcode,
      export_options: {
        compileBitcode: includebitcode,
        uploadBitcode: includebitcode
      }
    )

    crashlytics(
      crashlytics_path: './Pods/Crashlytics',
      api_token: 'Token',
      build_secret: 'Secret',
      groups: 'appgroup',
      notifications: false
    )

    upload_symbols_to_crashlytics(dsym_path: "./Appname.app.dSYM.zip")
  end

My AppFile looks like this:
app_identifier "AppID.iOS"
apple_id<EMAIL_ADDRESS># This should change depending on the machine

I'd like to have a 2 apple IDs:

<EMAIL_ADDRESS>for the CI machine
<EMAIL_ADDRESS>for the developer and if he/she distributes the app from a local machine

How that could be accomplished with the Fastlane?

Yep, environment variables are the way to do this 👍🏼


Issues connecting to resources from within WSL

Customer reports issues connecting to resources from within the WSL environment on Windows.

[ ] Investigate connecting to IP/CIDR resources from within WSL
[ ] Investigate connecting to DNS resources from within WSL

Specifically this is for connecting to AWS document-db. Related: #6779

We do have known issues with WSL #3717

DNS is not being controlled, edited details into the first comment

DNS is not being controlled.
IP / CIDR Resources seem to work fine, curl <IP_ADDRESS> succeeds in WSL.
DNS Resources don't work, WSL's DNS must not be under control
curl -s https://ifconfig.net fails, returning the clearnet IP.
/etc/resolv.conf contains nameserver <IP_ADDRESS>, which is the DNS stub for the Parallels VM I'm running Windows in. If we put nameserver <IP_ADDRESS> in there, curl -s https://ifconfig.net succeeds.

If I run netsh interface ipv4 set dns name="Firezone" static <IP_ADDRESS>, then it adds our stub resolver to our interface.
Then I can restart WSL and it will put our resolver first in /etc/resolv.conf, and then the DNS Resource seems to work.
This isn't perfect but if we can find the registry equivalent of that netsh command (the command runs very slow) it can be integrated into Firezone.

Nice work triaging this!


368 nf hide data sources

Codecov Report

Merging #377 into master will increase coverage by 0.02%.
The diff coverage is 71.42%.

@@            Coverage Diff             @@
##           master     #377      +/-   ##
==========================================
+ Coverage    74.8%   74.82%   +0.02%
==========================================
  Files          70       71       +1
  Lines       10105    10129      +24
==========================================
+ Hits         7559     7579      +20
- Misses       2546     2550       +4

Impacted Files
Coverage Δ

cate/conf/template.py
0% <0%> (ø)

cate/util/misc.py
89.17% <100%> (+1.03%)
:arrow_up:

cate/version.py
100% <100%> (ø)
:arrow_up:

cate/webapi/websocket.py
27.56% <14.28%> (-0.77%)
:arrow_down:

cate/util/web/jsonrpchandler.py
82.03% <0%> (+1.19%)
:arrow_up:

cate/util/web/jsonrpcmonitor.py
97.87% <0%> (+2.12%)
:arrow_up:

Continue to review full report at Codecov.

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


Force blur when disabling input element. Fixes #85033

This PR fixes #85033
In firefox disabling the input element doesn't cause it to lose focus.

Adding @rebornix as well, given web coverage.


CSS variables in Polymer ignore media queries

:root {
  --gap-between-cards: 16px;
}

/* Small */
@media (max-width: 600px) {
  :root {
    --gap-between-cards: 4px;
  }
}

/* Tablet+ */
@media (min-width: 601px) {
  :root {
    --gap-between-cards: 16px;
  }
}

Expected behaviour:

Below 601px width: 4px
Above 600px width: 16px

Observed behaviour:

Below 601px width: 16px
Above 600px width: 16px

If I switch those values around to:
/* Small */
@media (max-width: 600px) {
  :root {
    --gap-between-cards: 16px;
  }
}

/* Tablet+ */
@media (min-width: 601px) {
  :root {
    --gap-between-cards: 4px;
  }
}

Expected behaviour:

Below 601px width: 16px
Above 600px width: 4px

Observed behaviour:

Below 601px width: 4px
Above 600px width: 4px

So it seems the last value is applied as variable value.

This is a limitation of the CSS custom properties shim that Polymer provides.  It is not a full polyfill, as this would be prohibitively expensive.  You can read about the limitations here: https://www.polymer-project.org/1.0/docs/devguide/styling.html#custom-properties-shim---limitations-and-api-details
Specifically,

Only rules which match the element at creation time are applied. Any dynamic changes that update variable values are not applied automatically.

In addition, it is currently not sophisticated enough to match media-query rules (we will leave this bug open to fix this aspect).
In the meantime, I would recommend using an iron-media-query to trigger code to set this.customStyle['--gap-between-cards'] = gap; followed by this.updateStyles() (or Polymer.StyleDefaults.customStyle and Polymer.updateStyles(), depending on where the media query was defined), which is required to cause styles to be re-evaluated.

Ah OK, clear. Thanks for the quick reply! I really like where Polymer is going, keep up the good work!

I made a fiddle.
It not a nice solution but it works for me...

I am using iron-media-query about 8 times...one for each custom element. Could this impact performance? How feasible would it be to have a global iron-media-query for all to custom elements to share?

should window.matchMedia("(min-width: 1200px)").matches also be broken? not sure if it is something I am doing wrong.

The above JS fiddle code snippet is down, so I leave below a workaround / quickfix for those who encounter the same problem. Good luck !
<dom-module id="my-component">
  <template>

    <iron-media-query query="(max-width:40rem)" query-matches="{{isMobileNav}}"></iron-media-query>

    <app-drawer-layout fullbleed>
      <app-drawer id="nav">
        ...
      </app-drawer>
      <app-header-layout has-scrolling-region>
        ...
      </app-header-layout>
    </app-drawer-layout>

  </template>

</dom-module>

Just to be clear, what is mentioned in the release notes of version 1.6 - "Added support for defining CSS custom properties in @media queries" - does not mean that the iron-media-query as shown in the snipped above is not necessary with the shim any longer? The release note just refers to the ability to define CSS custom properties in media queries, not that Polymer will update styles correctly when breakpoints change correct?

@dtruffaut's version is pretty much the recommended way to go about it. Until everyone is able to use native custom properties the best thing we can do is "poke" the system when it needs to update, using something like iron-media-query.
@andreasanheuser As I understand it, if you're on a browser that supports native custom properties and you use the flag useNativeCSSProperties: true, then the custom properties defined in the breakpoints should take effect when the browser is resized without requiring the use of iron-media-query. But this will only work on browsers that support native custom properties so odds are that you'll still need to use an iron-media-query to support legacy browsers (for now). @kevinpschaaf can correct me if I'm wrong here :D

It seems like polymer 2 web component files ignore media queries entirely? Not just CSS variables, but CSS everything? Having much trouble styling elements in a polymer-2-starter-kit project that I am developing...😔

I've actually been able to track down my issue to safari. All media queries that are inside a shadow dom scoped html file in polymer do not update dynamically in a safari browser window, it would seem. One needs to refresh the safari browser window at the new viewport size to see the media query changes take effect. It works fine in chrome, however. This is not a deal breaker, as my end users will still see what they are intended to see, i just need to do real time dev in chrome, rather than safari, at least at the moment.

Has anyone had any thoughts about how you can reference a breakpoint (or query) as a variable, save inconsistencies that could be made across an app when referencing a static query.
For example:
<iron-media-query query="{{globalvariable.breakpoint.mobile}}" query-matches="{{isMobileNav}}"></iron-media-query>

Someting like:
      <iron-media-query
        query="(min-width: 400px)"
        query-matches="{{queryMatches}}">
      </iron-media-query>

            <iron-icon  hidden$="{{queryMatches}}" class="small-icon"
              icon="image:picture-as-pdf">
            </iron-icon>
            <iron-icon  hidden$="{{!queryMatches}}" class="large-icon"
              icon="image:picture-as-pdf">
            </iron-icon>

or
    <iron-media-query query="(min-width: 0) and (max-width: 800px)" query-matches="{{medWedText}}"></iron-media-query>
    <iron-media-query query="(min-width: 488px) and (max-width: 699px)" query-matches="{{medBackgroundPosition}}"></iron-media-query>
    <iron-media-query query="(min-width: 700px)" query-matches="{{midSizeScreen}}"></iron-media-query>
    <iron-media-query query="(max-width: 699px)" query-matches="{{smallSizeScreen}}"></iron-media-query>

{{weddingDate}}

{{weddingDate}}

{{weddingDate}}

```

This works in all major browsers, except Edge and IE11. A running example is http://jsbin.com/zotewijemi/edit?html,console,output For now one of the above workarounds is required if you also target Edge and IE.

FYI, I've come up with a solution to the problem @rchrdnsh found, which involves tricking Safari into reevaluating its media queries. If you create/change any @media rules, then Safari seemingly reevaluates all of them—anywhere on the page including inside shadow roots.
const ua = navigator.userAgent;
if (ua.indexOf('Chrome') === -1 && ua.indexOf('Safari') !== -1) {
  const s = document.createElement('style');
  document.body.appendChild(s);
  let previousWidth = 0;

  // Safari 11.0.1 doesn't reevaluate media queries inside shadow roots on resize. By modifying a
  // dummy media-query on resize, it seemingly refreshes all of them.
  window.addEventListener('resize', () => {
    // nb. min/max so that whatever resize happens triggers style changes
    // TODO(samthor): This only handles width; the same hack could be used for height?
    const dir = (previousWidth < window.innerWidth ? 'max' : 'min');
    previousWidth = window.innerWidth;
    s.innerHTML = `@media (${dir}-width: ${window.innerWidth}px) {}`;
  });
}

Putting empty media queries kn your index.html works as qell

@TimvdLippe and also except safari


Trojan:AndroidOS/Multiverze False positive

Windows defender is detecting version 1.3 as Trojan:AndroidOS/Multiverze false positive, but the old version works without antivirus freaking out. This seems to be a repeat of #17

I tried scanning all three ZIP files but I still can't reproduce the detection. Not sure what could be done to fix this :/
https://i.imgur.com/IvyVrQR.png

Strange, I even tried removing clearing AV definitions/dynamic signatures and rescanned the file and it still gets detected.

I figured out why it wasn't detected for me, I had "Cloud-delivered protection" turned off. vanillafixes-1.3.zip is detected as "Trojan:AndroidOS/Multiverze" and vanillafixes-1.3-dxvk-legacy.zip is detected as "Trojan:Script/Wacatac.H!ml" but vanillafixes-1.3-dxvk.zip is not detected.
I couldn't get VanillaFixes.exe to trigger any detection and Android apps are ZIP files which leads me to believe that Defender is detecting the ZIP file itself as a virus and not the contents (which is really stupid).
I submitted vanillafixes-1.3.zip to Microsoft and removed vanillafixes-1.3-dxvk-legacy.zip. They responded pretty fast in #17 so hopefully the false positive will be removed soon.


How to create folders according to database

Hi,
I am trying to develop a CMS that will work with more than one database. I would like to know if there's a way I can use a specific folder for a specific database connection, based from a session data?
I know that there is an option for multi user, but I would like to know if its possible for multi database connections?
Thanks!

This package only deals with files in the server, does not contain any code related to database for now.

@taishi06 I get your point now. This is related to #19. Can you see if what you think matches @youchenlee 's idea?

In v1.7.2, edit config : user_field. It can now accept a closure.


Add build dir to install feature method

Related to https://github.com/OpenLiberty/ci.common/pull/387
Need to pass the build directory to install feature method so that the .libertyls directory can be deleted when features are installed.

For the test that I updated, I proved to myself that the .libertyls directory existed before the install-feature goal was invoked by commenting out the goal and running the test. The test failed on the assert that the .libertyls directory did not exist. Here is a screenshot of the target dir:

After adding the install-feature goal back to the pom.xml, the test passed and the target dir looked like the following:


Unclear how to add an advanced weekly schedule with only for instance monday and wednesday

Type of issue
Missing information
Feedback
Unclear how to create a schedule of a few days:
"advancedSchedule": {
  "monthDays": null,
  "monthlyOccurrences": null,
  "weekDays": [
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday"
  ]
},

Page URL
https://learn.microsoft.com/en-us/cli/azure/automation/schedule?view=azure-cli-latest
Content source URL
https://github.com/MicrosoftDocs/azure-docs-cli/blob/main/latest/docs-ref-autogen/automation/schedule.yml
Author
@dbradish-microsoft
Document Id
be41ebb1-ee13-9eba-6a41-0c5cda23f18d

@V4A001
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.

Hello @V4A001. I have sent a request to the az automation schedule engineering team for examples of the --frequency and --interval parameters. I will provide them here once received.
I've also created Azure/azure-cli-extensions GitHub issue 8272 requesting the engineering team to add more examples in the reference documentation.


fix(components): fix style for vertically oriented separator

Fixes height of vertical separator when parent container doesn't have a defined height. Closes #4818

This fix seems to break some cases where vertical separators currently work, e.g. on the documentation page. Replace the h-full class with min-h-full to replicate the change on the vertical separators and they are no longer visible.


feat: Add API stage tags support (#384)

Issue #, if available:
Description of changes:
Description of how you validated changes:
Checklist:

[x] Write/update tests
[x] make pr passes
[x] Update documentation
[x] Verify transformed template deploys and application functions as expected
[ ] Add/update example to examples/2016-10-31

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Codecov Report

Merging #993 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #993      +/-   ##
===========================================
+ Coverage    94.71%   94.72%   +<.01%
===========================================
  Files           69       69
  Lines         3160     3164       +4
  Branches       606      607       +1
===========================================
+ Hits          2993     2997       +4
  Misses          85       85
  Partials        82       82

Impacted Files
Coverage Δ

samtranslator/model/sam_resources.py
95.59% <ø> (ø)
:arrow_up:

samtranslator/model/apigateway.py
97.72% <100%> (ø)
:arrow_up:

samtranslator/model/api/api_generator.py
93.68% <100%> (+0.09%)
:arrow_up:

Continue to review full report at Codecov.

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


Throwing functions from imported FunC sources don't throw when called from the Tact bindings to them

Are you using the latest released (or pre-released, a.k.a. "next") version?

[X] I'm using the latest Tact version

Tact source code
/*
    Inside that file there's a simple function:
    () throw_test() {
        throw(1337);
    }
*/
import "./throw-shenanigans.fc";

@name(throw_test)
native throwTest();

contract Showcase {
    /// For deployment
    receive() {}

    /// For showcase
    receive("I won't throw") {
        throwTest(); // ← doesn't throw!
        dump("You'll see this message");
    }
}

Relevant Tact/build system log output
No response
What happened?
Exit code $0$ and successful transaction overall.
What did you expect?
I expected an exit code $1337$ in my tests.
Steps to reproduce
No response
How do you run Tact?
Blueprint
Anything else?
That might be some issue in Sandbox and not Tact, although there's one particular case that may indicate that the bug is on the Tact side — the function dnsInternalNormalize() from @stdlib/dns is a binding to the respective FunC function dns_internal_normalize() implemented in dns.fc file. The problem is that this FunC function is supposed to throw whenever a slice with any references is passed to it:
slice dns_internal_normalize(slice src) inline_ref {
    throw_unless(src.slice_refs() == 0, 134); ;; Invalid argument error
    ;; ... etc. etc. etc.
}

But when bound to a Tact function dnsInternalNormalize(), it no longer throws when receiving such slice!

You need to make your throw_test FunC impure then it will work. We need to fix dns.fc file

Sure, I'll fix it in a moment or two

@novusnota There is dns.spec.ts in the e2e tests, we should add a test there

In general, exit codes are part of a contract's interface and the corresponding tests should check the exit codes as well (we should actually enhance our testing page in the tact docs should how it should be done)

Omg, I found the issue (it took forever) — the order of arguments in throw_if and throw_unless in FunC is reversed compared to Tact's. That is, the dns.fc contained an invalid call to throw_unless all this time!


scylla_cluster: fix handling of wait_other_notice

After starting a multi-node cluster, it's important to wait until all nodes are aware that all other nodes are UP, otherwise the user sends a CL=ALL request to one node, it might not be aware that the other replicas are alive, and fail the request.
For this reason a cluster's start() has a wait_other_notice=True option, and dtests correctly use it. However, the implementation seems to have a bug: When ccm starts the Nth node, instead of waiting for all nodes 1..N-1 to learn that N is up, it only waits for the nodes among 1..N-1 which it knows are up (node.status == Status.UP). But this information appears to be delayed, so we often end up not waiting for some of the nodes to learn about node N!
The solution I propose is here simple: I note that the cluster-starting code already waits for each node to become UP before continuing to the next one. So after we waited for the node to become UP, let's mark it as UP immediately, without waiting for some background operation to notice it. This will allow the next iteration to realize that when we start the next node, the previous node is surely one of the nodes that will need to wait for it.
This patch is needed if Scylla is modified to boot up faster. We start seeing dtests which use RF=ALL in the beginning of a test failing, because the node we contact doesn't know that the other nodes are UP.

@fruch, this CCM patch appears to be needed for the dtest effort of booting Scylla faster (https://github.com/scylladb/scylla-dtest/issues/2429), to prevent some tests from becoming flaky:
An example is the dtest consistency_test.py::TestConsistency::test_short_read_delete, which before this CCM patch seems to fail about half the time, and after this patch seems to pass all the time (I tried a few dozen times, and they all passed).
The problem causing this test to fail is that it starts a cluster with wait_other_to_notice=True so expecting that all nodes know that all nodes are up, and then immediately sends an RF=ALL request. But because of the CCM bug (which I fixed here), the cluster claims it finished being created while some nodes do NOT know the other nodes are up, so the RF=ALL request can fail because the coordinator thinks other nodes are down.
My patch is trivial, and seems to work, but I'm very worried that I don't understand the code that I fixed, so the fix might not be the best one or might not be 100% correct, so I need someone familiar with this code to review it. In particular, I found several similar versions of this code that I fixed throughout the CCM code and fixed the only one that seem to be called from dtest. I hope it's enough.

@fruch I need your help. It seems my patch fails some ccm unit test run by the CI, but I don't understand if the failure is really related to my change or a pre-existing condition, and don't know how to debug it :-(

@fruch I need your help. It seems my patch fails some ccm unit test run by the CI, but I don't understand if the failure is really related to my change or a pre-existing condition, and don't know how to debug it :-(

I'll look at CCM CI, meanwhile we can do a sweep with this fix in the job you were using to make sure it doesn't break anything else (it would be enough to prove it's correct)

@fruch I need your help. It seems my patch fails some ccm unit test run by the CI, but I don't understand if the failure is really related to my change or a pre-existing condition, and don't know how to debug it :-(

you can run it with:
 pytest tests/ -k test_ccm_status[ccm_reloc_cluster]

anyhow I understand the issue, the status is updated only in memory.
and when CCM is use as commandline the next call, i.e. ccm status didn't know of this change, since it's reading the status from node.conf file.
so this change would work o.k. for dtest, but might hurt some other users driver test that uses ccm from commandline (java, ccp)
I'll look into a fix

@nyh
can you confirm if this change also fix the issue you had with test_short_read_delete ?
diff --git a/ccmlib/scylla_cluster.py b/ccmlib/scylla_cluster.py
index 4d99a29..633c625 100644
--- a/ccmlib/scylla_cluster.py
+++ b/ccmlib/scylla_cluster.py
@@ -117,11 +117,11 @@ class ScyllaCluster(Cluster):
         for node in nodes:
             if not node.is_running():
                 if started:
-                    last_node, _, last_mark = started[-1]
+                    last_node, last_process, last_mark = started[-1]
                     last_node.watch_log_for("node is now in normal status|Starting listening for CQL clients",
                                             verbose=verbose, from_mark=last_mark,
                                             process=last_node._process_scylla)
-                    last_node.status = Status.UP
+                    last_node._update_pid(last_process)
                 mark = 0
                 if os.path.exists(node.logfilename()):
                     mark = node.mark_log()

Yes, it seems to work too, thanks.

Yes, it seems to work too, thanks.

Hmm, I spoke to soon! :-( I ran it a few more times and saw it fail twice :-(
So no, it doesn't help...

Yes, it seems to work too, thanks.

Hmm, I spoke to soon! :-( I ran it a few more times and saw it fail twice :-( So no, it doesn't help...

I've tried also only your fix, and it doesn't seem to be enough, I'm not sure it's a bug in CCM per se.
but that CCM isn't aware of some thing it would need to wait for.
from a log of node1 in that test:
INFO  2023-05-25 11:06:58,859 [shard 0] gossip - InetAddress <IP_ADDRESS> is now UP, status = UNKNOWN
INFO  2023-05-25 11:06:58,868 [shard 0] compaction - [Compact system.scylla_local 1f4f2f40-fad3-11ed-a0f6-aeff6c913dc2] Compacting [/home/fruch/.dtest/dtest-fssejtto/test/node1/data/system/scylla_local-2972ec7ffb2038ddaac1d876f2e3fcbd/me-12-big-Data.db:level=0:origin=memtable,/home/fruch/.dtest/dtest-fssejtto/test/node1/data/system/scylla_local-2972ec7ffb2038ddaac1d876f2e3fcbd/me-10-big-Data.db:level=0:origin=compaction]
INFO  2023-05-25 11:06:58,880 [shard 0] compaction - [Compact system.scylla_local 1f4f2f40-fad3-11ed-a0f6-aeff6c913dc2] Compacted 2 sstables to [/home/fruch/.dtest/dtest-fssejtto/test/node1/data/system/scylla_local-2972ec7ffb2038ddaac1d876f2e3fcbd/me-14-big-Data.db:level=0]. 11kB to 6kB (~51% of original) in 9ms = 680kB/s. ~256 total partitions merged to 1.
INFO  2023-05-25 11:06:59,689 [shard 0] migration_manager - Requesting schema pull from <IP_ADDRESS>:0
INFO  2023-05-25 11:06:59,689 [shard 0] migration_manager - Pulling schema from <IP_ADDRESS>:0
INFO  2023-05-25 11:06:59,697 [shard 0] schema_tables - Altering system_distributed.cdc_streams_descriptions_v2 id=0bf73fd7-65b2-36b0-85e5-658131d5df36 version=fb523305-9bdb-366e-bc1c-50f6c33145a4
INFO  2023-05-25 11:06:59,697 [shard 0] schema_tables - Altering system_distributed_everywhere.cdc_generation_descriptions_v2 id=234d2227-dd63-3d37-ac5f-c013e2ea9e6e version=590a2766-0667-3dab-b70f-91e8f6dc6fe8
INFO  2023-05-25 11:06:59,698 [shard 0] schema_tables - Altering system_distributed.view_build_status id=5582b59f-8e4e-35e1-b913-3acada51eb04 version=029e6c7b-a0d1-394c-adf0-7fb77bda46e7
INFO  2023-05-25 11:06:59,698 [shard 0] schema_tables - Altering system_distributed.service_levels id=b8c556bd-212d-37ad-9484-690c73a5994b version=e9e2e7ab-be2a-3a46-a98d-99b2a970ad8f
INFO  2023-05-25 11:06:59,698 [shard 0] schema_tables - Altering system_distributed.cdc_generation_timestamps id=fdf455c4-cfec-3e00-9719-d7a45436c89d version=ea3340b4-3f54-32eb-84db-babb135e8168
INFO  2023-05-25 11:06:59,698 [shard 0] query_processor - Column definitions for system_distributed.cdc_streams_descriptions_v2 changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,698 [shard 0] query_processor - Column definitions for system_distributed_everywhere.cdc_generation_descriptions_v2 changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,698 [shard 0] query_processor - Column definitions for system_distributed.view_build_status changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,698 [shard 0] query_processor - Column definitions for system_distributed.service_levels changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,698 [shard 0] query_processor - Column definitions for system_distributed.cdc_generation_timestamps changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,699 [shard 1] query_processor - Column definitions for system_distributed.cdc_streams_descriptions_v2 changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,699 [shard 1] query_processor - Column definitions for system_distributed_everywhere.cdc_generation_descriptions_v2 changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,699 [shard 1] query_processor - Column definitions for system_distributed.view_build_status changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,699 [shard 1] query_processor - Column definitions for system_distributed.service_levels changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,699 [shard 1] query_processor - Column definitions for system_distributed.cdc_generation_timestamps changed, invalidating related prepared statements
INFO  2023-05-25 11:06:59,702 [shard 0] schema_tables - Schema version changed to fdd2e2c5-9854-3de5-8bba-3903f206465d
INFO  2023-05-25 11:06:59,702 [shard 0] migration_manager - Schema merge with <IP_ADDRESS>:0 completed

ccm looks for gossip - InetAddress <IP_ADDRESS> is now UP and assume that nodes knows each other, but the scheme  pull take for each other takes one more second, I'll try to add code to wait for the schema pull.
assuming that's the only extra thing we need to wait for.

Yes, it seems to work too, thanks.

Hmm, I spoke to soon! :-( I ran it a few more times and saw it fail twice :-( So no, it doesn't help...

I've tried also only your fix, and it doesn't seem to be enough,

For the dtest I was running it seemed to be enough - I ran it dozens of times and it passed.

I'm not sure it's a bug in CCM per se. but that CCM isn't aware of some thing it would need to wait for.

As I tried to explain in my commit, that is a CCM bug. If CCM returns to the user before the nodes are aware that the rest are up (that's the whole point of the wait_others_notice parameter!) the cluster doesn't work with CL=ALL request. So not waiting for the others to notice despite this parameter is a CCM bug.

ccm looks for gossip - InetAddress <IP_ADDRESS> is now UP and assume that nodes knows each other, but the scheme pull take for each other takes one more second, I'll try to add code to wait for the schema pull.

Maybe schema pull is another bug that will eventually surface and need to be fixed, but I think it is orthogonal to the bug I discovered here. The bug I discovered here is that although looking at the code it seems that ccm when starting node B after node A looks for "gossip - InetAddress B is now UP" on A's log, it doesn't actually do this check in practice. The problem I saw is when it wants to do that, it still incorrectly believes that A isn't yet up so it does not inspect A's log! I wrote "incorrectly believes" because the cluster start loop (where my patch and yours go) waits to see in A's log that it becomes up, so this code does know that A is up - it can't think that A isn't yet up.

assuming that's the only extra thing we need to wait for.

CCM is probably riddled with bugs. It has so much code duplication that I don't even know what code actually runs ;-) But I think we'll need to fix them one at a time...
I admit I don't know if my fix is the correct one (is setting UP in memory the right thing? what's that "disk file" you discovered and who sets it and when to UP?) but in practice, when applying my patch for zero-sleep Scylla and then running the test consistency_test.py::TestConsistency::test_short_read_delete, from a 50% failure rate it went down to 0% failure rate.
(this specific test was simply the first one on the list of 176 failing tests... I have no idea how many other tests this fix will help, if at all...).

Yes, it seems to work too, thanks.

Hmm, I spoke to soon! :-( I ran it a few more times and saw it fail twice :-( So no, it doesn't help...

I've tried also only your fix, and it doesn't seem to be enough,

For the dtest I was running it seemed to be enough - I ran it dozens of times and it passed.

I'm not sure it's a bug in CCM per se. but that CCM isn't aware of some thing it would need to wait for.

As I tried to explain in my commit, that is a CCM bug. If CCM returns to the user before the nodes are aware that the rest are up (that's the whole point of the wait_others_notice parameter!) the cluster doesn't work with CL=ALL request. So not waiting for the others to notice despite this parameter is a CCM bug.

ccm looks for gossip - InetAddress <IP_ADDRESS> is now UP and assume that nodes knows each other, but the scheme pull take for each other takes one more second, I'll try to add code to wait for the schema pull.

Maybe schema pull is another bug that will eventually surface and need to be fixed, but I think it is orthogonal to the bug I discovered here. The bug I discovered here is that although looking at the code it seems that ccm when starting node B after node A looks for "gossip - InetAddress B is now UP" on A's log, it doesn't actually do this check in practice. The problem I saw is when it wants to do that, it still incorrectly believes that A isn't yet up so it does not inspect A's log! I wrote "incorrectly believes" because the cluster start loop (where my patch and yours go) waits to see in A's log that it becomes up, so this code does know that A is up - it can't think that A isn't yet up.

I can confirm that this is an issue in CCM, but fix you suggested doesn't solve the issue
I'll prepare a different fix for it

assuming that's the only extra thing we need to wait for.

CCM is probably riddled with bugs. It has so much code duplication that I don't even know what code actually runs ;-) But I think we'll need to fix them one at a time...

all code is riddled with bug :)

I admit I don't know if my fix is the correct one (is setting UP in memory the right thing? what's that "disk file" you discovered and who sets it and when to UP?) but in practice, when applying my patch for zero-sleep Scylla and then running the test consistency_test.py::TestConsistency::test_short_read_delete, from a 50% failure rate it went down to 0% failure rate.

when running it with your fix only, I don't %0 failure, I get much more failure then 0

(this specific test was simply the first one on the list of 176 failing tests... I have no idea how many other tests this fix will help, if at all...).

@nyh
this achives the same, as the fix you suggested here:
https://github.com/scylladb/scylla-ccm/pull/460
nodes are being checked correctly in wait_other_notice both in cluster level and in node level.
i.e. there are two checks happening to make sure we don't missing it. i.e. cluster.start vs. node.start
and both works as expect, while the test test_short_read_delete still not stable, we still need to know what else we should be waiting for....

Closing this PR. As @fruch rightly noticed, my patch solved a bug in the wrong way, and it didn't actually solve the right bug. @fruch and I will post two other patches instead of this one.


PORTING LMU diagnostic object to V2

Short description of the diagnostic
The v1 LMU diagnostic object was handling various variables by delegating subdiagnostics.
v1 was based on geoval (by @bulli92) but prted to v2 will be based on iris for reducing the number of dependencies. (#503)
Major recoding is required.
Branch and pull request
The working branch is https://github.com/ESMValGroup/ESMValTool/tree/version2_LMU

To Do list for Porting:

[X] Setup simple recipe for start
[ ] Correct management of new cfg information
[ ] Port basic functionality/object (exchange geoval for iris)
[ ] Port all variables

[ ] alb
[ ] fAPAR
[ ] fire
[ ] landcover
[ ] sm
[ ] sst

[ ] Port specific diagnostics


Don't duplicate assets referenced in CSS/SCSS files

Command
build, serve
Description
When referencing files in CSS/SCSS they get duplicated and placed in the root folder:
background: url('../assets/icons/menu.svg');
Now the file gets deployed twice:

assets/icons/menu.svg
menu.svg

Using an absolute path /assets/icons/menu.svg doesnt duplicate the files BUT it doesnt work when deployed to a sub-folder using base-href.
Personally I don't see any reason for that and I dont want to have all my assets deployed twice.
This was already a feature request from 2017 which had a lot of people upvoting / commenting but has been closed:
https://github.com/angular/angular-cli/issues/6692
Describe the solution you'd like

Don't duplicate linked assets
Deploying to a sub-folder using base-root it should still work

Describe alternatives you've considered
No response

Working as intended.
Please see explanation in https://github.com/angular/angular-cli/issues/19664#issuecomment-753843382
TLTR;
Don’t place your CSS resources under the assets folder.

@alan-agius4 Please consider this a feature request then and please reopen.
Why shouldn't I put them in the assets folder?

I dont want my assets to end up in the root, e.g. I have 100 icons which should end up in assets/icons
I dont want my assets to be fingerprinted, this prevents them from being cached by the browser each time a new deployment runs

@alan-agius4 Please consider this a feature request then and please reopen.
Why shouldn't I put them in the assets folder?

Because otherwise CSS recourses will be emitted twice, once as a resource and another one as an asset configured via the assets option in angular.json

I dont want my assets to end up in the root, e.g. I have 100 icons which should end up in assets/icons

You can use the resourcesOutputPath option to configure the output path of css resources.

I dont want my assets to be fingerprinted, this prevents them from being cached by the browser each time a new deployment runs

Unless the resource changes the hash should be the same, thus having hashes actually simplify caching and it’s invalidation. That said, if you want to disable hashing for resources, you can set outputHashing to bundles or none.
See https://angular.io/cli/build for more if information about build options.

Thanks for you explainations. Anyway I would like to see this as a feature request.


Incorrect page link

From the left-side navigation panel, "Apply business logic using code" does not link to the correct page.

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

ID: fdeda855-04fc-a145-873d-63569f18fbf5
Version Independent ID: fd9ae462-da2f-e292-9579-85c68b458fe2
Content: Developers: Best practices and guidance regarding plug-in and workflow development for the Common Data Service - PowerApps
Content Source: powerapps-docs/developer/common-data-service/best-practices/business-logic/index.md
Service: powerapps
GitHub Login: @jowells
Microsoft Alias: jowells

@steverhall Thanks for pointing it out. Fixing now.


Bump release to 1.16

Description
It it time?  Probably, build is failing atm.
https://en.wikipedia.org/wiki/16_(number)
Just noticed Denis does this in his upcoming dropwizard PR.
Review Instructions
Confirm that build works and references to 1.15 have been replaced.
Issue
None.
Security and Privacy
No concerns.
Please make sure that you've checked the following before submitting your pull request. Thanks!

[x] Check that you pass the basic style checks and unit tests by running mvn clean install
[x] Ensure that the PR targets the correct branch. Check the milestone or fix version of the ticket.
[x] Follow the existing JPA patterns for queries, using named parameters, to avoid SQL injection
[x] If you are changing dependencies, check the Snyk status check or the dashboard to ensure you are not introducing new high/critical vulnerabilities
[x] Assume that inputs to the API can be malicious, and sanitize and/or check for Denial of Service type values, e.g., massive sizes
[x] Do not serve user-uploaded binary images through the Dockstore API
[x] Ensure that endpoints that only allow privileged access enforce that with the @RolesAllowed annotation
[x] Do not create cookies, although this may change in the future
[x] If this PR is for a user-facing feature, create and link a documentation ticket for this feature (usually in the same milestone as the linked issue). Style points if you create a documentation PR directly and link that instead.

I think this happened in another PR.


firestore: support firestore.Delete with Set

Support field deletion:
client.Set(ctx, map[string]interface{}{
    "field": firestore.Delete,
})

This correctly returns an error, because Set without a merge option completely replaces the document, so Delete doesn't make sense. Pass a Merge option to Set if you want to delete a field.
A forthcoming CL clarifies the doc for DocumentRef.Set.


Font for Waybar Workspace and Battery Icons?

Hello! Love your theme. I am trying to figure out what font you are using for the battery icon and workspace icons in waybar. I have fontawesome installed, but it is still not rendering.. (just square boxes appear). Any help would be appreciated. Thanks again!

Solved: Material Design Font worked!

Solved: Material Design Font worked!

Didnt work for me, weird.
I installed ttf-material-design-icons from the Arch AUR but i still get squares

Thanks for bringing this up. I've added a mention and a link to the readme now :)

@RaymondSchnyder did you find a solution to your problem? I'm on Arch and do have the same issue.

@RaymondSchnyder did you find a solution to your problem? I'm on Arch and do have the same issue.

Sadly not, i just searched some icons that work on the internet and replaced the ones in this repo.


Support to choose a different version of Fabric

Hello, is there any way to select a different version of Fabric?
In particular I'm interested in the 2.2.x LTS series.
I tried to edit the samples-network/network file by setting:
context FABRIC_VERSION 2.2.9
and replacing the corresponding binaries in samples-network/bin, but during the network cluster init I get this response:
Error response from daemon: manifest for hyperledgerk8s/fabric-peer:2.2.9 not found: manifest unknown: manifest unknown
Of course, the information for this version is missing. Is it possible to add it somehow?
I am using on an Ubuntu 20.04 machine a Rancher/k3s installation configured with Kubernetes v1.24.8, dockerd (moby) enabled and Traefik disabled.
Thank you,

Hello, is there any way to select a different version of Fabric? In particular I'm interested in the 2.2.x LTS series.
I tried to edit the samples-network/network file by setting: context FABRIC_VERSION 2.2.9
and replacing the corresponding binaries in samples-network/bin, but during the network cluster init I get this response:
Error response from daemon: manifest for hyperledgerk8s/fabric-peer:2.2.9 not found: manifest unknown: manifest unknown  Of course, the information for this version is missing. Is it possible to add it somehow?
I am using on an Ubuntu 20.04 machine a Rancher/k3s installation configured with Kubernetes v1.24.8, dockerd (moby) enabled and Traefik disabled.
Thank you,

Hi @massimo-romano .  Can you pls tell why you choose 2.2.x LTS version?  bestchains here provides a one-stop blockchain solution upon kubernets for productiuon ready use case.
This opperator originally comes from hyyperledger-labs but we have done lots of work towards federation/channels/chaincode management/optimization.
You can have a try by using this installer https://github.com/bestchains/installer
Once again,thanks you for paying attention on our project! And  feel free to let me know if you have any other  questions

Hi @bjwswang , thank you for your response.
I'm forced to use a 2.2.x version of Fabric because we have already developed a Spring Eureka application that interacts with this version of the network (at the time the latest LTS available) and our application is not immediately compatible with later versions. The current production system is implemented via docker (pure networking, no swarm) and is running on separate machines but we have just been asked to move it to Kubernetes.
Your project is interesting so I will try the installer anyway even though I won't be able to use it for this specific version of Fabric.


Allow to drop the event payload when retrieving a scan manifest

The event_i3live_json_dict field of the manifest contains the entire event payload, which has considerable size.
There are not many scenarios in which the payload needs to be inspected.
At the same time, the user may want to query SkyDriver for several manifests at once (like, when building a summary table of manifests for a given evend id).
I sugges to make the retrieval of event_i3live_json_dict optional.

sure thing!


Switches to Plugin from Bundle references https://github.com/gmarik/Vund...

Plugin is the newer version of Bundle.
references: https://github.com/gmarik/Vundle.vim/commit/0521de95eac09298c4e71b3662839612280c1ae9

This might not be the right place for this but as there have become so many plugin managers that occasionally update their interface, and users already normally having and knowing how to use the manager of their choice, I've taken to use saying If you don't have a preferred installation method check out [foo], so things like this aren't necessary.

@w1zeman1p thanks for the update. @Keithbsmiley I agree in general, but am currently in between Vundle and vim-plug so I don't have a firm answer on that.


Add source param to getLightClientOptimisticUpdate

Alternative approach to https://github.com/ethereum/beacon-APIs/pull/270

Route getLightClientOptimisticUpdate exposes a LightClientOptimisticUpdate produced with the SyncAggregate of the head block. This PR allows to customize this behaviour to support consumers that need a more "timely" SyncAggregate.
Proposed values of source param:

block (default): Get SyncAggregate from current's head block body, body.sync_aggregate

pool_contribution_and_proof: Construct SyncAggregate from aggregating SignedContributionAndProof objects in the node's pool received from the gossip topic sync_committee_contribution_and_proof. MUST aggregate messages with message.contribution.slot == current_slot and message.contribution.beacon_block_root == head_root.

pool_committee_message: Construct SyncAggregate from aggregating SyncCommitteeMessage objects in the node's pool received from the gossip topics sync_committee_{subnet_id}. MUST aggregate messages withslot == current_slot and beacon_block_root == head_root. After receiving a signatures request, the node SHOULD subscribe to all sync committee subnets.

Since source param is optional and defaults to block I guess this is non-breaking change with the current rules of the repo right?

Who are the right people to decide on this vs. the alternative you mentioned? I'm not really across the space, and would prefer the right people ultimately make the decision on this one, i'm happy to approve and merge if there's agreement...

Let's sit on it for 2 more weeks to collect input during interop

I don't like the side effect of GET request to "MUST subscribe to topics and aggregate" which is a heavy operation.
The functionality is already available using the validator namespace, and is more explicit (turn on subscription, then just ask for producing contributions whenever one has interest in it). This makes it explicit to express intent, instead of having nasty side effect to GET requests.

Agree with @etan-status 's points, so closing


Create Crashes with Sodium

Describe the Bug
I'm not sure if this is only for curseforge but when starting minecraft on curseforge with both sodium and create minecraft crashes
Reproduction Steps

Use Curseforge
Install Sodium and Create
Start Minecraft
...

Expected Result
Minecraft fails to start
Screenshots and Videos
No response
Crash Report or Log
https://pastebin.com/AxFWGFHi
Operating System
Windows 10
Mod Version
0.4.0b
Minecraft Version
1.18.1
Other Mods
Fabric API
Additional Context
No response

Duplicate of #88


refactor: centralize config of mypy

Pull Request Checklist

[ ] New code has 100% test coverage
[ ] (If applicable) The prose documentation has been updated to reflect the changes introduced by this PR
[ ] (If applicable) The reference documentation has been updated to reflect the changes introduced by this PR
[ ] Pre-Commit Checks were ran and passed
[ ] Tests were ran and passed

Description

We should favor setting all exclusions and other configs in pyproject.toml. As such, this PR removes the exclude hook config for the pre-commit pyright. Ideally, there should be no difference between running pre-commit run mypy --all-files and pdm run mypy, and I propose that centralizing the config in this manner is the best way to achieve that.
This PR makes an effort to minimize the amount of excluded modules. So, in addition to moving the exclude config from .pre-commit-config.yaml to pyproject.toml, it also omits some of the exclusions and addresses the arising type issues.
Close Issue(s)

Can I propose we remove mypy and pyright from pre-commit @litestar-org/maintainers @litestar-org/members?
Pre-commit passes the names of all files in the project to mypy individually, which overrides the packages = ["litestar", "tests"] config in [tool.mypy]. This causes errors like this one:

...which aren't an issue if the command is pdm run mypy, because the packages config is respected.
Also, it would mean we'd no longer have to maintain 2 extra lists of our dependencies in the pre-commit file!
We can add individual jobs for these in actions that can run parallel, and add to the lint command in Makefile.

I'm not in favor of this tbh. I think there might be two other alternatives that we could consider:

Use the files as documented here to only include litestar and tests.
Run a local pre-commit hook using pdm run mypy and pdm run pyright. This has the benefit of not needing to maintain the separate dependency lists.

Can I propose we remove mypy and pyright from pre-commit @litestar-org/maintainers @litestar-org/members?
Pre-commit passes the names of all files in the project to mypy individually, which overrides the packages = ["litestar", "tests"] config in [tool.mypy]. This causes errors like this one:

...which aren't an issue if the command is pdm run mypy, because the packages config is respected.
Also, it would mean we'd no longer have to maintain 2 extra lists of our dependencies in the pre-commit file!
We can add individual jobs for these in actions that can run parallel, and add to the lint command in Makefile.

I'm not in favor of this tbh. I think there might be two other alternatives that we could consider:
1. Use the `files` as documented [here](https://%5Bpre-commit%5D(https://pre-commit.com/#hooks-files).com/#hooks-files) to only include `litestar` and `tests`.

2. Run a local pre-commit hook using `pdm run mypy` and `pdm run pyright`. This has the benefit of not needing to maintain the separate dependency lists.

I'm not a fan of 1. as it means that we are moving back toward multiple configurations for the same thing.
I would prefer 2. over nothing I suppose.
Due to having mypy and pyright in pre-commit I've disabled the hook here, its just too slow & disruptive for my liking.

it is non-obvious that when you run pre-commit run --all-files that the packages configuration from [tool.mypy] is not used

This is weird. I thought it would pick up the config from pyproject.toml since the default for --config-file includes pyproject.toml. For example, ruff does pick up from the pyproject.toml.

Another example of the complexity that pre-commit adds to running mypy.
pre-commit automagically runs mypy with the --ignore-missing-imports flag, which is not what we want, as we are explicitly building the exact environment via additional_dependencies.
This means we get an error for an unused-ignore when running through pre-commit, or if we remove the ignore, then we get an error for a missing import when not running via pre-commit. The latter being the correct warning, b/c the import is explicitly not in our 3.12 environment, which is the version we are running linting on.
In the readme for the pre-commit mirror it says to do this to override the args:
    hooks:
    -   id: mypy
        args: [--strict, --ignore-missing-imports]

Which I take to mean that if you want to preserve the --ignore-missing-imports and add other configs, then you need to ensure that you include it in the args.
We already have strict = True in pyproject.toml, so my hope is by simply passing args: [--strict] we will avoid the import ignore config. Unfortunately, that causes all of our top-level mypy configs from pyproject to be ignored, resulting in some 600+ errors. And so, now we are back to having to fully duplicate the configuration before we can indiscriminately run mypy inside and outside pre-commit.
Now, there might be a better way that I've missed, but the point is that the mental overhead all of this adds to what is otherwise a pretty simple tool to configure and run is just.... not fun.
Additionally, running mypy using a local hook, still means that we need to add pdm stuff to the validate hook so that we build the local environment. At this point, and with all the other arguments I've made, I'm -10 on running mypy via pre-commit.


Fix 179: Restructure docs

WIP: I just want to see how it's rendered.

Coverage remained the same at 91.05% when pulling 76f2948b4cceb2323352fd2c2a54ebcc20f7e65d on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 76f2948b4cceb2323352fd2c2a54ebcc20f7e65d on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling a566791158496b3798a368abadaf6c9deecd455c on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling a566791158496b3798a368abadaf6c9deecd455c on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 6c43fb693139f1cf08c0145d5e34ff55631d8491 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 6c43fb693139f1cf08c0145d5e34ff55631d8491 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 6c43fb693139f1cf08c0145d5e34ff55631d8491 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 6c43fb693139f1cf08c0145d5e34ff55631d8491 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 6c43fb693139f1cf08c0145d5e34ff55631d8491 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 6c43fb693139f1cf08c0145d5e34ff55631d8491 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 6c43fb693139f1cf08c0145d5e34ff55631d8491 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling ec8a30ac7566952b87c6a35402df8095953fceb9 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling ec8a30ac7566952b87c6a35402df8095953fceb9 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling ec8a30ac7566952b87c6a35402df8095953fceb9 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 9944b9d79884adc582bff1245ad10bdcd8a0ecf1 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage remained the same at 91.05% when pulling 9944b9d79884adc582bff1245ad10bdcd8a0ecf1 on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Coverage increased (+0.53%) to 91.58% when pulling 3e7bdf0583379d32dbad988f1cf431daf869e86a on restructure-docs into ed7f816cf8a60fcc005de80b9686b747a16ca3a7 on master.

Merging this!

Coverage increased (+0.26%) to 91.6% when pulling aee0e0cebb73020063e499fe0dc6507b973b6c11 on restructure-docs into f9eebb199e00beb5ac1e0d4ecfdd5fe77bb3b957 on master.

Coverage increased (+0.26%) to 91.6% when pulling aee0e0cebb73020063e499fe0dc6507b973b6c11 on restructure-docs into f9eebb199e00beb5ac1e0d4ecfdd5fe77bb3b957 on master.

Coverage increased (+0.26%) to 91.6% when pulling aee0e0cebb73020063e499fe0dc6507b973b6c11 on restructure-docs into f9eebb199e00beb5ac1e0d4ecfdd5fe77bb3b957 on master.


2FA token

-The 2FA token did not work after restoring was done.

Unable to replicate, 2FA token worked for me after consecutive restorations.

2FA token working even after restoring.


Files of BioBERT Lost

Hi,
Thanks for providing the biobert code.
To use BioBERT(biobert_v1.1_pubmed), download & unzip the contents to ./additional_models folder.
However, this link is not useful now.
Where could I get the contents?

I have updated the link in the readme, please refer to it


Doesn't work on Chromium

Hello,
did you know that Locate doesn't work on Chromium browser?
I'm using Chromium version 80.0.3987.163, running on Ubuntu 18.04 and Locate gives me the following error on both demo links (http://domoritz.github.io/leaflet-locatecontrol/demo and https://www.domoritz.de/leaflet-locatecontrol/demo_mapbox):
Geolocation error: Network location provider at 'https://www.googleapis.com/' : No response received..

any update on this current problem?

I don't think this problem is related to this plugin but the browser, the os, or leaflet.


Cargo Console Limit

Limits cargo console to 20 items per shipment as a pseudo shuttle analog. Helps prevent some lag associated with creating hundreds of objects all at once.
You can request as much as you want but only 20 can be approved at a time.
Made this with the intent that it could be upped to match the capacity of a shuttle dynamically.
Should resolve #789
Things to consider:

[ ] Cargo console has a capacity display in this format: "0/20" but it updates very infrequently
[ ] Spawning items on the console could be made to check if the previous physics blocking object was removed before spawning

nice first pr windarkata

Think I've covered all the feedback. I still think the console updates too slowly. Not sure what to do about it but if I putz around with it long enough I might figure it out.
Also, should I bother with adjusting the way that loop is shitting out items? Not sure its worth it if we're just gonna gut that code when cargo shuttle gets implemented

Also, should I bother with adjusting the way that loop is shitting out items? Not sure its worth it if we're just gonna gut that code when cargo shuttle gets implemented

Probably not.

I still think the console updates too slowly. Not sure what to do about it but if I putz around with it long enough I might figure it out.

 Gonna fix the UI updating issue real quick then merge this.


fix offline indicator not show in mobile

Details

Fix offline indicator not show in mobile
Fixed Issues

$ https://github.com/Expensify/App/issues/23165#issuecomment-1659490197
PROPOSAL: https://github.com/Expensify/App/issues/23165#issuecomment-1659490197
Tests

Login with any account
Turn off the internet connection (or enable force offline in Preferences).
Go to Profile => Click user photo => upload photo => choose any photo.
Verify there's OfflineIndicator at bottom.
Go to Profile => Personal Details => Date of Birth => Click on the year => YearPickModal will show up.
Verify there's OfflineIndicator at bottom.
Go to Profile => Personal Details => Home Address => Click on the Country filed => CountrySelectorModal will show up.
Verify there's OfflineIndicator at bottom.
Go to Profile => Personal Details => Home Address => Click on the State filed => StateSelectorModal will show up.
Verify there's OfflineIndicator at bottom.

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

Login with any account
Turn off the internet connection (or enable force offline in Preferences).
Go to Profile => Click user photo => upload photo => choose any photo.
Verify there's OfflineIndicator at bottom.
Go to Profile => Personal Details => Date of Birth => Click on the year => YearPickModal will show up.
Verify there's OfflineIndicator at bottom.
Go to Profile => Personal Details => Home Address => Click on the Country filed => CountrySelectorModal will show up.
Verify there's OfflineIndicator at bottom.
Go to Profile => Personal Details => Home Address => Click on the State filed => StateSelectorModal will show up.
Verify there's OfflineIndicator at bottom.

[x] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/16502320/932aa6b6-be1f-48f2-9f82-38780cc01f34

Mobile Web - Chrome

https://github.com/Expensify/App/assets/16502320/d2565dc9-dae5-4f75-9200-f7bb6a934935

Mobile Web - Safari

https://github.com/Expensify/App/assets/16502320/82262d30-0cfe-4bd8-abc7-fa138bbc82d1

Desktop

https://github.com/Expensify/App/assets/16502320/932aa6b6-be1f-48f2-9f82-38780cc01f34

iOS

Android

https://github.com/Expensify/App/assets/16502320/d2565dc9-dae5-4f75-9200-f7bb6a934935

Repeat steps above with CountrySelectorModal, YearPickerModal and StateSelectorModal.

@hungvu193, QA team members aren't developers, they might not know where those components are used and how to get to them.
It's better to overexplain the tests, let's just have similar sections for all the modals

Login with any account
Go to ... => Click ... => ...

Verify there's "You appear to be offline" text at the bottom

@hungvu193 there's a related issue where the offline indicator is not showing on the Profile > Personal Details > Country & State screen (GH issue). Do you know if they are the same root cause and will this PR fix that issue as well?

There's also a typo in Fixed Issues section, the first link is incorrect, it should just point to https://github.com/Expensify/App/issues/23165

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.3.54-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/arosiclair in version: 1.3.54-0 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/yuwenmemon in version: 1.3.54-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Crash on Linving Entity Loot

Hi. Please see the below crash logs. It seems that the mod is struggling to add loot to newly spawned creatures. These happen randomly as we explore on the server.
crash-2021-01-24_08.38.33-server.txt
crash-2021-01-24_09.38.47-server.txt
This is on 1.16.4 with forge 35.1.37 with version 1.1.5 of PlayerEX installed

Hi there,
It should now be fixed in the latest release (1.1.6).
Thanks.

Hi there,
It should now be fixed in the latest release (1.1.6).
Thanks.

Thank you kindly!

Thank you kindly!

I am having this exact crash on MC v1.16.4 with forge v35.1.37 and 1.1.7 of PlayerEX, which is after this issue was supposedly fixed.
crash-2021-01-24_08.38.33-server.txt

I am having this exact crash on MC v1.16.4 with forge v35.1.37 and 1.1.7 of PlayerEX, which is after this issue was supposedly fixed.
crash-2021-01-24_08.38.33-server.txt

Hi there,
The crash report you submitted is using PlayerEx 1.1.5. Please double check that your version is 1.1.7. If in any doubt over the version, open the mod jar and navigate to the mods.toml file located in the META-INF folder.
Thanks.

I am having this exact crash on MC v1.16.4 with forge v35.1.37 and 1.1.7 of PlayerEX, which is after this issue was supposedly fixed.
crash-2021-01-24_08.38.33-server.txt

Hi there,
The crash report you submitted is using PlayerEx 1.1.5. Please double check that your version is 1.1.7. If in any doubt over the version, open the mod jar and navigate to the mods.toml file located in the META-INF folder.
Thanks.

Hi CleverNucleus, I doubled checked the version, and it is indeed 1.1.7. Line 8 in the crash report under ticking entity also says playerex:1.1.7
at com.github.clevernucleus.playerex.init.EventHandler.onLivingLoot(EventHandler.java:395) ~[playerex:1.1.7] {re:classloading}

Hi CleverNucleus, I doubled checked the version, and it is indeed 1.1.7. Line 8 in the crash report under ticking entity also says playerex:1.1.7
at com.github.clevernucleus.playerex.init.EventHandler.onLivingLoot(EventHandler.java:395) ~[playerex:1.1.7] {re:classloading}

When I open this text file that you have linked, line 8 is the following:
	at com.github.clevernucleus.playerex.init.EventHandler.onLivingLoot(EventHandler.java:363) ~[playerex:1.1.5] {re:classloading}

Released a hotfix - <IP_ADDRESS>. This should have fixed the issue, but I've said that before so..

Thank you very much, I will try it out!


/user/username/gilded

https://www.reddit.com/dev/api#GET_user_{username}_gilded

80ccf65fec3d4a1b4b465d33999cd3f23d3e036a


How to insert image name into database after upload with Tinymce???

Sorry for my English!!!
i have the problem. After upload image with Tinymce successfully, i want insert image name to database. HOw can do it?
Thank you!!!

You can listen to the ImageWasUploaded event and save the path using Eloquent.
Do the same with deleting and renaming and you'll keep everything in sync across the database and filesystem.
You can find implementation examples in the documentation.

Thank you so much!!! I have managed to solve this problem

Great! 😄


version jump is missing

When I choose an older version doc then try to switch back, the latest version is missing.

old version released before new version docs ready.

old version released before new version docs ready.
@leoendless
But it should support switch to different versions here.


[Translation zh-tw] Fundamentals > Related Guides

Check out a review request at GitLocalize

@sotayamashita @chikathreesix can you take a look?

@agektmr I'll check it out.

@kennith I would appreciate if you could remove extra code by yourself because I cannot find the branch. :bow:

I'm going to close this for now, please resubmit when it's been updated.


dumm1

Short description:
More details:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

Pull reviewers stats
Stats of the last 7 days for openshift-python-wrapper:

User
Total reviews
Time to review
Total comments

jpeimer🥇
1▀

        | **4m**
           | **1**
▀▀▀▀▀▀▀▀▀▀ |

|  | rnetser🥈 | 4▀▀▀▀▀▀▀▀ | 1h 59m▀▀▀▀▀▀▀▀▀▀ | 0               |
⚡ Pull request stats


Create migration without saving in the db

I have multiple environments
When creating the migration file, I want it to be added to the repo, and in the CI I want to run it for the relevant environment.
How can I perform a create without passing the uri?

Setup environment modes
If mode is set, it will look for .env.[mode] file in the root of your project
For example, if MIGRATE_MODE=development it will look for .env.development file
If mode is not set, it will look for .env file in the root of your project
.env                # loaded in all cases
.env.local          # loaded in all cases (used as override for local development)
.env.[mode]         # only loaded in specified mode
.env.[mode].local   # only loaded in specified mode (used as override for local development)

@ilovepixelart the answer is not related to the question.
When performing a create it will try to connect to the db for saving the migration state.
I want to create the migration only in the repo. Running it should be after I commit the file and push, then in ci I want it to run the migration (then I already have the env and know how to config it).
The question is how to perform create without db connection?


chore(launch): Adding mechanism for runner for overwrite resource args from macros

Fixes
Fixes WB-NNNN
Fixes #NNNN
Description
What does the PR do?
Testing
How was this PR tested?
Checklist

[ ] Include reference to internal ticket "Fixes WB-NNNN" and/or GitHub issue "Fixes #NNNN" (if applicable)
[ ] Ensure PR title compliance with the conventional commits standards

🤖 Generated by Copilot at 765ca5c

Oh we are the coders of the abstract runner
We make it do things that it never done 'er
We add macro substitution in resource args
And document it well so it won't be a farce

Not sure if this is an esoteric use case but is there a way for users to prevent substitution? Like if a user wants the specific text {some_string} in their resource args. Not sure how critical this is though, users can probably find a way to work around this limitation.


Plot: Create Clear<T>() as an alias for Remove<T>()

The same way that GetPlottables() works
https://github.com/ScottPlot/ScottPlot/blob/093994e1b020d2d1f349e4e0a06c9d67e2577b44/src/ScottPlot5/ScottPlot5/Plot.cs#L366-L369

Might be useful, from my code where need to remove dashed lines and repaint.
        // Iterate through plot's elements and remove dashed lines         void RemoveDashedLines(Plot plot)         {             for (int i = plot.PlottableList.Count - 1; i >= 0; i--)             {                 if (plot.PlottableList[i] is Scatter scatter && scatter.LineStyle.Pattern == LinePattern.Dashed)                     plot.Remove(scatter);             }         }

It seems the same as Remove<T>().
https://github.com/ScottPlot/ScottPlot/blob/093994e1b020d2d1f349e4e0a06c9d67e2577b44/src/ScottPlot5/ScottPlot5/Plot.cs#L419-L426

It seems the same as Remove<T>()

Good find! That's the exact function I was looking for and I forgot it was there 😅
I instinctively reached for Clear<T>() so maybe we should add it as an alias to Remove<T>() to make it more discoverable

resolved in #3820


Selecting custom Polygons

User story

As a User
I want to select a custom polygon region
So that I get the data of a specific region

Acceptance criteria

Create polygons of different shapes
Visualize these polygons in a specific way
Fetch data about these selected regions (polygons)

Definition of done (DoD)

Added only after week 5
The same for all features
Here goes the project specific part

DoD general criteria

Feature has been fully implemented
Feature has been merged into the mainline
All acceptance criteria were met
Product owner approved features
All tests are passing
Developers agreed to release

Duplicate to #195 close


DirectoryBrowser not showing or downloading .exe files

Describe the bug
I'm using Directory Browser and StaticFiles as per the code below:
To Reproduce
app.UseStaticFiles(new StaticFileOptions
            {
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "downloads", "MyFiles")),
                RequestPath = "/MyFiles"
            });

            app.UseDirectoryBrowser(new DirectoryBrowserOptions
            {
                FileProvider = new PhysicalFileProvider(
                    Path.Combine(Directory.GetCurrentDirectory(), "wwwroot", "downloads", "MyFiles")),
                RequestPath = "/MyFiles"
            });

Expected behavior
I have noticed for some users certain files dont show up in the directory the file in question is a zip file roughly 200mb in size.
The bigger issue however right now is that it is unable to show or download *.exe files
Regards,
Ali

See https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files?view=aspnetcore-2.2#fileextensioncontenttypeprovider
.exe isn't on the default list.
https://github.com/aspnet/AspNetCore/blob/master/src/Middleware/StaticFiles/src/FileExtensionContentTypeProvider.cs


Lib 199 add security configuration

Referenced the code implementation from

https://developer.okta.com/blog/2017/12/18/spring-security-5-oidc
https://docs.spring.io/spring-security/reference/servlet/oauth2/resource-server/jwt.html


Set TZ in transformer to America/New_York from EDT

Summary
Switches the timezone used for casting event times in EventDataTransformer from using a type 2 "EDT" timezone to a type 3 "America/New_York" timezone that will automatically account for daylight savings time.
Testing Plan

Before checking out this branch run php artisan pull:events
Launch the application and navigate to /events
The times, since we've fallen back from EDT to EST, will appear an hour later than they're actually scheduled for. Compare with the OpenWorks events dashboard.
Also be sure to stop by the /calendar page to see that the same issue exists there.
Checkout the branch for this PR and re-run php artisan pull:events
Refresh the /events and /calendar pages. The times should now appear correctly.

Thanks for working on this @ThorntonMatthewD
We do have the TZ .env variable that I think becomes the config/app.php as the 'timezone'.
I suspect we shouldn't hard code the timezone. Or, we could pull from the config, and use the New York as the default value if the config isn't set?
https://laravel.com/docs/10.x/configuration#accessing-configuration-values

I ran Matt's PR as a patch on stage and it fixed the issue, so I ran it on the live site too.
I guess there's a chance we have a problem again when daylight savings reverts, but the hardcoded EDT in the app/Data/EventDataTransformer.php seems like a fair chance of being the issue.
I think we should pull the America/New_York from the Laravel config, instead of hard coding it. So, that's the main thing I think we should change on this PR.
Thanks Matt.

@ThorntonMatthewD were you trying to do anything more on this PR, or is it ready to go?

@allella The couple of unit tests were all I was after since yesterday. Since those are up I think this iteration of the TZ fix is ready for review.

^ I actually forgot to change back one last thing. NOW things are good. :smile:


Link to dashboard from README.md

Fixes #154. (Repo description already changed.)

Codecov Report

Merging #155 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #155   +/-   ##
=======================================
  Coverage   60.59%   60.59%
=======================================
  Files          35       35
  Lines        1774     1774
  Branches      135      135
=======================================
  Hits         1075     1075
  Misses        699      699

Continue to review full report at Codecov.

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


DOC: doc build failing

Currently, the doc build is failing eg. https://app.circleci.com/pipelines/github/scipy/scipy/23282/workflows/5ec2135b-3be9-4fe0-9e1b-f800067ba42f/jobs/78346
Potentially an upstream issue with the pydata syphinx theme?

Let me copy the traceback for future reference:
Running Sphinx v7.2.6

...

Traceback (most recent call last):
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/events.py", line 97, in emit
    results.append(listener.handler(self.app, *args))
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/pydata_sphinx_theme/__init__.py", line 145, in update_templates
    if theme_css_name in context["css_files"]:
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/builders/html/_assets.py", line 40, in __eq__
    warnings.warn('The str interface for _CascadingStyleSheet objects is deprecated. '
sphinx.deprecation.RemovedInSphinx90Warning: The str interface for _CascadingStyleSheet objects is deprecated. Use css.filename instead.

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/cmd/build.py", line 298, in build_main
    app.build(args.force_all, args.filenames)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/application.py", line 355, in build
    self.builder.build_update()
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 293, in build_update
    self.build(to_build,
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 363, in build
    self.write(docnames, list(updated_docnames), method)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 568, in write
    self._write_parallel(sorted(docnames),
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/builders/__init__.py", line 595, in _write_parallel
    self.write_doc(firstname, doctree)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/builders/html/__init__.py", line 655, in write_doc
    self.handle_page(docname, ctx, event_arg=doctree)
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/builders/html/__init__.py", line 1107, in handle_page
    newtmpl = self.app.emit_firstresult('html-page-context', pagename,
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/application.py", line 492, in emit_firstresult
    return self.events.emit_firstresult(event, *args,
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/events.py", line 118, in emit_firstresult
    for result in self.emit(name, *args, allowed_exceptions=allowed_exceptions):
  File "/home/circleci/.pyenv/versions/3.9.18/lib/python3.9/site-packages/sphinx/events.py", line 108, in emit
    raise ExtensionError(__("Handler %r for event %r threw an exception") %
sphinx.errors.ExtensionError: Handler <function update_templates at 0x7f080d5f5f70> for event 'html-page-context' threw an exception (exception: The str interface for _CascadingStyleSheet objects is deprecated. Use css.filename instead.)

Extension error (pydata_sphinx_theme):
Handler <function update_templates at 0x7f080d5f5f70> for event 'html-page-context' threw an exception (exception: The str interface for _CascadingStyleSheet objects is deprecated. Use css.filename instead.)
make: *** [Makefile:114: html-build] Error 2

We're pinning to an old pydata-sphinx-theme (0.9.0) and sphinx 7.2.6 has been released for 2 months. So it's some other dependency or code change.


Floating point exception when wrong directory path is given

When you set the input dir as not the SLURM output-dir, it does not say that the provided path is wrong. It just encounters an exception

A possible hint: also when no job has started I get the same exception, so maybe it is related to just the directory being empty in *.log and *.out files.

Issue was fixed (I forgot which commit)


fix (JavaScript): Remove old code.

I forgot to remove the old code in my previous PR, sorry :sweat_smile:

🚀 es6 to the moon 🚀


Add Tools section

Write down what tools have I used and record video showing how to use them

Fixed

I need to check this out later


Add an initial JS target compiler

by passing in compile as a param after the first file, this will
print out JS code instead of interpreting the code.
doesn't deal with ADTs just yet

added ADT support, missing tests


Barrel stopped working after scripts update.

We are using Angular barrel for file imports, and as our project is already quite huge, we cannot totally refactor it.
It stopped working after yesterday's Adam's commit: https://github.com/driftyco/ionic-app-scripts/commit/556d2e37dd6b84154b224592751e5f50f9e2a309
and now we are getting:
Error: Module .../ionic/src/app/index.ts does not export ComponentData (imported by .../src/components/module-components/module-component/module-component.ts)     at Module.trace (.../node_modules/rollup/dist/rollup.js:7706:29)
when I am switching back to the rollup conf, that contained ngTemplate() plugin, it works again.

Hello, thanks for using Ionic! Could you provide an example of the line that is causing this error?

@kleeb  s ComponentData an interface?  I had the same problem with interfaces that are never implemented getting stripped where I depended on them for type checking.

Yes, ComponentData is an interface, that is put in the barrel.
However when I tried importing it straight, rollup was saying that it hasn't been exported.

@kleeb Would you mind sharing a repo that we can use to reproduce this issue?

@jgw96 will do my best to reproduce on some smaller piece of code and share it, will get back asap

This is the same problem as mentioned by others in #64: interfaces that are used for type checking and are never implemented are removed, throwing an error. This is unrelated to barrels and also happens when importing directly.

I cannot reproduce it on smaller project.
From around 100 interfaces only 1 was causing problem.
I just changed it to become a class, and it fixed the issue.
Probably some inheritance and usage of those interfaces in some special way inside template is causing problems.

I had the same problem with interfaces that are never implemented getting stripped where I depended on them for type checking.

Interesting update: @masatada mentions in the issue referenced above that it only occurs when using the interface to type an @Input. I can confirm that this is also the case with me.
So @jgw96 you should be able to reproduce this problem now.
I'm setting the erroring @Input types to any for now.

I'm also seeing this with @Inject, so it's probably related to annotations in general.

Look like its fixed with Ionic RC1 + Angular 2.1.0.

Same here!


fix(api): multi word subset

Some subsets may have multiple words, e.g. caucasian-albanian, which would incorrectly be cutoff with the previous logic when creating download manifests.

This may be the real fix for #916 in retrospect.