RangeCalendar doesn't display selected Range when it is outside of the current month.

🐛 Bug Report
When using the RangeCalendar component, I have 'shortcut' buttons below the calendar that allow the user to quickly select a date range. (e.g. "Last Week, a month ago, two months ago, etc.")
When they press one of the buttons it updates the selected range of the calendar to the specified range.
If the range is outside of the currently displayed month, the calendar view doesn't change to show the new selection.
This makes it seem as though the button isn't working, even though it is. (The range indicator is displayed correctly when I am already looking at the date range before pressing the button.)
This is true also if the selected range is set before the component renders the first time. (If I'm displaying the existing value in the field, for instance.)
I can't seem to find a way to make the calendar display anything but the current month programatically. Sorry if I'm missing something obvious here.
To Reproduce

Load RangeCalendar component on screen. (
Set range prop programatically with start/end dates outside of currently displayed month.
Nothing happens.

(Note: setting the range with initial props also has same effect)
Expected behavior
Option One:

Load RangeCalendar component.
Set range with start/end dates outside of currently displayed month.
Calendar displays the month containing the selected date range.

This could be enabled/disabled if needed with a "alwaysShowSelectedRange" prop.
_Option Two:
Add a displayDate prop which defaults to the current date. Can be overridden with some other date, and the calendar will show the month/year that contains that date.
Link to runnable example or repository (highly encouraged)
import React, { useState } from 'react'
import { RangeCalendar, Button, Layout } from '@ui-kitten/components';

const MyControlledCalendar = ()=> {

    const [calendarRange, setCalendarRange] = useState(
        {
            startDate: new Date(),
            endDate: new Date(),
        });

    return (<Layout>
        <RangeCalendar
            range={calendarRange}
            min={new Date(0)}
            max={new Date()}
            onSelect={(range) => {
                setCalendarRange(range);
            }}
    />
        <Button
            status='primary'
            onPress={()=>setCalendarRange({
                startDate: new Date('Jan 01 2020'),
                endDate: new Date('Jan 05 2020')
            })}>
            Set date in the past.
        </Button>
        </Layout>)
}

UI Kitten and Eva version

Package
Version

@eva-design/eva
2.0.0

@ui-kitten/components
^5.0.0

Environment information

  System:
    OS: macOS 10.15.5
    CPU: (8) x64 Intel(R) Core(TM) i7-7820HQ CPU @ 2.90GHz
    Memory: 60.27 MB / 16.00 GB
    Shell: 5.5.1 - /usr/local/bin/zsh
  Binaries:
    Node: 10.19.0 - ~/.nvm/versions/node/v10.19.0/bin/node
    Yarn: 1.22.4 - /usr/local/bin/yarn
    npm: 6.13.4 - ~/.nvm/versions/node/v10.19.0/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  Managers:
    Homebrew: 2.4.8 - /usr/local/bin/brew
    pip2: 20.1.1 - /usr/local/bin/pip2
    pip3: 19.0.3 - /usr/local/bin/pip3
    RubyGems: 3.0.3 - /usr/bin/gem
  Utilities:
    Make: 3.81 - /usr/bin/make
    GCC: 4.2.1 - /usr/bin/gcc
    Git: 2.17.0 - /usr/local/bin/git
    Clang: 1<IP_ADDRESS> - /usr/bin/clang
  Servers:
    Apache: 2.4.41 - /usr/sbin/apachectl
  Virtualization:
    Docker: 19.03.12 - /usr/local/bin/docker
  SDKs:
    iOS SDK:
      Platforms: iOS 13.6, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
  IDEs:
    Android Studio: 3.3 AI-182.5<IP_ADDRESS>64788
    Atom: 1.47.0
    Nano: 2.0.6 - /usr/bin/nano
    Vim: 8.1 - /usr/bin/vim
    WebStorm: 2020.2
    Xcode: 11.6/11E708 - /usr/bin/xcodebuild
  Languages:
    Bash: 3.2.57 - /bin/bash
    Java: 11.0.2 - /usr/bin/javac
    Perl: 5.18.4 - /usr/bin/perl
    PHP: 7.3.11 - /usr/bin/php
    Python: 2.7.14 - /usr/local/bin/python
    Python3: 3.7.3 - /usr/local/bin/python3
    Ruby: 2.6.3 - /usr/bin/ruby
  Databases:
    SQLite: 3.28.0 - /usr/bin/sqlite3
  Browsers:
    Chrome: 84.0.4147.125
    Firefox: 78.0.1
    Safari: 13.1.1

Not sure if this is a bug report or a feature request. Happy to reclassify as required.

Found the problem:
protected selectedDate(): D {
    return this.dateService.today();
  }

Will see if I can figure out how to make a PR!

not sure if this is the right approach, but looking at the Calendar component, I'm thinking it might be something like this:
protected selectedDate(): D {
    return this.dateService.getMonthStart(this.props.range.startDate) || this.dateService.today();
}

I think I've figured it out:
The CalendarPicker component takes a CalendarPickerProps<D> object.
That object has a 'data' property which is an array of arrays fo date objects
export interface CalendarPickerProps<D> extends ViewProps {
  data: CalendarDateInfo<D>[][];
  // ...
}

Which looks like this:
[ [ {
      "bounding": true,
      "date": 2020-07-26T04:00:00.000Z,
      "holiday": false,
      "range": false,
    }, {
      "bounding": true,
      "date": 2020-07-27T04:00:00.000Z,
      "holiday": false,
      "range": false,
    },
   . . .
 ] ,
 [ . . .  ]
]

When you change the range, RangeCalendar.createDates() calls CalendarDataService<D>.createDayPickerData() which parses the range and creates that data object, which is then passed down to the picker.
So when you change the range, the only things that change are the  range property on the CalendarDateInfo<D> objects in that array.
Because shouldComponentUpdate doesn't do deep comparisons of state and props (for performance reasons), shouldComponentUpdate returns false.
At least, this is my best guess. I'll have a think about it, but it seems to me that the solution is either to move the information about the change higher in the hierarchy, or else overriding shouldComponentUpdate at somewhere in the chain.
I've never made a PR before, but this seems like it might be an achievable first issue, so happy to give it a try. If anyone has any feedback on either of the approaches or other tips they would be appreciated!

solution is out of date? is there something relevant?


Lattice energy of molecular crystal

I'm trying to calculate the lattice energy of a molecular crystal, here using benzene as an example.  The code below calculates one energy for the whole unit cell and another for a monomer in a much larger cell (still periodic though), using TPSS-D3/def2-TZVP and using RS-GDF density fitting; no k-point sampling, no pseudopotentials.
This runs without errors, and pretty fast.  The lattice energy comes out as 0.0044 (11.6 kJ/mol) which seems way out of whack for benzene (experiment 54.8 kJ/mol).
This is the first larger periodic calculation I've tried to do in PySCF so I don't know if I'm doing this right.  Could you please give some guidance about the appropriate settings, and what may be the reason for the large discrepancy with the expected result?
Possible issues I can think of:

need k-point sampling and/or need to converge to thermodynamic limit (extrapolate as 1/Nk from eg 2x2x2 and 3x3x3 k-points)
need a finer grid for density fitting, and/or need a different kind of density fitting method (eg FFT)
need to calculate the monomer in a much larger periodic box, or in a non-periodic system
need to minimize/relax both the crystal and the monomer
wrong functional for this type of problem (I've tried a few others, the results are similar roughly 10-20 kJ/mol)
D3 dispersion not implemented correctly (the sample code in the pyscf docs doesn't work, I had to copy a bit from the simple-dftd3 docs)
numeric issue, eg finer DFT grids, tighter SCF convergence, etc

Any suggestions would be greatly appreciated - Thank you!
UPDATE
I changed the code to use KRKS from RKS, and tried some other functionals, and up to 3x3x3 k-points grid.
Here are the results:
PBE-D3 / def2-SVP, k-points 1 x 1 x 1: E_latt = -28.1 kJ/mol
PBE-D3 / def2-SVP, k-points 2 x 2 x 2: E_latt = -27.3 kJ/mol
PBE-D3 / def2-SVP, k-points 3 x 3 x 3: E_latt = -27.3 kJ/mol
PBE-D3 / def2-TZVP, k-points 1 x 1 x 1: E_latt = -19.6 kJ/mol
PBE-D3 / def2-TZVP, k-points 2 x 2 x 2: E_latt = -18.5 kJ/mol
PBE-D3 / def2-TZVP, k-points 3 x 3 x 3: E_latt = -18.5 kJ/mol
The difference between 2x2x2 and 3x3x3 is small, < 0.005 kJ/mol in every case tested.  The difference between SVP and TZVP basis is significant, ~9 kJ/mol but the larger basis produces a smaller lattice energy. For all settings, the lattice energy is less than expected.
Code:
from pyscf.pbc import gto, scf, dft
import dftd3.pyscf as disp

xc = 'TPSS'
basis =  'def2-TZVP'
kpts_num = [1,1,1]
hartree_to_kJ_mol = 2625.4996395

cell = gto.M(
    atom='''
        C  -0.4233   1.3245  -0.0373
        C  -0.9932   0.4393   0.8746
        C   0.5758   0.8833  -0.8961
        H  -0.7261   2.3368  -0.1224
        H  -1.7922   0.7582   1.5348
        H   1.0200   1.5576  -1.5999
        C  -0.5758  -0.8833   0.8961
        C   0.9932  -0.4393  -0.8746
        C   0.4233  -1.3245   0.0373
        H  -1.0200  -1.5576   1.5999
        H   1.7922  -0.7582  -1.5348
        H   0.7261  -2.3368   0.1224
        C   4.7132  -0.4393   4.3346
        C   2.7267   0.4393   2.5853
        C   3.1441  -0.8833   2.5638
        C   4.2958   0.8833   4.3561
        H   4.4461  -2.3368   3.3375
        H   2.9938   2.3368   3.5824
        H   5.5123  -0.7582   4.9948
        H   1.9277   0.7582   1.9251
        H   2.6999  -1.5576   1.8601
        H   4.7400   1.5576   5.0598
        C   3.2966   1.3245   3.4973
        C   4.1433  -1.3245   3.4226
        C   0.9932   5.2143   2.5853
        C  -0.9932   4.3357   4.3346
        C  -0.5758   5.6583   4.3561
        C   0.5758   3.8916   2.5638
        H   0.7261   7.1118   3.5824
        H  -0.7261   2.4381   3.3375
        H   1.7922   5.5332   1.9251
        H  -1.7922   4.0167   4.9948
        H  -1.0200   6.3326   5.0598
        H   1.0200   3.2174   1.8601
        C  -0.4233   3.4504   3.4226
        C   0.4233   6.0995   3.4973
        C   2.7267   4.3357  -0.8746
        C   4.7132   5.2143   0.8746
        C   4.2958   3.8916   0.8961
        C   3.1441   5.6583  -0.8961
        H   2.9938   2.4381   0.1224
        H   4.4461   7.1118  -0.1224
        H   1.9277   4.0167  -1.5348
        H   5.5123   5.5332   1.5348
        H   4.7400   3.2174   1.5999
        H   2.6999   6.3326  -1.5999
        C   4.1433   6.0995  -0.0373
        C   3.2966   3.4504   0.0373
        ''',
    a=[[7.44, 0,    0  ],
       [0,    9.55, 0  ],
       [0,    0,    6.92]],
    basis = basis,
)
cell.verbose = 4
kpts = cell.make_kpts(kpts_num)
mf = dft.KRKS(cell, kpts, xc=xc).rs_density_fit().run()
e_disp = float(disp.DFTD3Dispersion(cell, xc=xc, version="d3bj").kernel()[0])
e_whole_cell = mf.e_tot + e_disp
print('e_disp_whole_cell', e_disp)
print('e_whole_cell', e_whole_cell)

cell = gto.M(
    atom='''
        C  -0.4233   1.3245  -0.0373
        C  -0.9932   0.4393   0.8746
        C   0.5758   0.8833  -0.8961
        H  -0.7261   2.3368  -0.1224
        H  -1.7922   0.7582   1.5348
        H   1.0200   1.5576  -1.5999
        C  -0.5758  -0.8833   0.8961
        C   0.9932  -0.4393  -0.8746
        C   0.4233  -1.3245   0.0373
        H  -1.0200  -1.5576   1.5999
        H   1.7922  -0.7582  -1.5348
        H   0.7261  -2.3368   0.1224
        ''',
    a=[[30, 0, 0],
       [0, 30, 0],
       [0, 0, 30]],
    basis = basis,
)
cell.verbose = 4
kpts = cell.make_kpts(kpts_num)
mf = dft.KRKS(cell, kpts, xc=xc).rs_density_fit().run()
e_disp = float(disp.DFTD3Dispersion(cell, xc=xc, version="d3bj").kernel()[0])
e_monomer = mf.e_tot + e_disp
print('e_disp_monomer', e_disp)
print('e_monomer', e_monomer)

n_molecules = 4

e_latt = e_whole_cell / n_molecules - e_monomer
print('e_latt', e_latt)

Versions: pyscf=2.6.2 simple-dftd3=1.0.0 both from conda-forge

This looks pretty good to me on a skim, so maybe it's just a finite size effect (k-point mesh too small). Even just doing 2x2x2 will tell you if it's going in the right direction. There's a fair bit of data on DFT cohesive energies of molecular crystals (e.g., see the X23 dataset), so I'd suggest picking a functional that has results reported in the literature, so that you know what to expect.
A small suggestion: to eliminate basis set superposition error, you should actually calculate the single molecule energy surrounded by the ghost basis functions of the other molecules in the crystal. You can also do this as a molecular calculation instead of a periodic one with a big box. But correcting for BSSE will only maker your cohesive energy smaller (in magnitude) so it won't bring you closer to experiment.

@tberkel Thanks for looking it over!
I found a paper that benchmarks DFT on X23 using settings that can be reproduced in PySCF: Stein & Heimstaat 2019 https://doi.org/10.3390/cryst9120665 They use Turbomole with a periodic DFT calculation with GTOs, PBE-D3/def2-TZVP and a 3x3x3 k-points grid.  Their result for benzene is E_latt = -58.41 kJ/mol.
I updated the code above to use KRKS and tried to reproduce that.
Results:
PBE-D3 / def2-SVP, k-points 1x1x1: E_latt = -28.1 kJ/mol
PBE-D3 / def2-SVP, k-points 2x2x2: E_latt = -27.3 kJ/mol
PBE-D3 / def2-SVP, k-points 3x3x3: E_latt = -27.3 kJ/mol
PBE-D3 / def2-TZVP, k-points 1x1x1: E_latt = -19.6 kJ/mol
PBE-D3 / def2-TZVP, k-points 2x2x2: E_latt = -18.5 kJ/mol
PBE-D3 / def2-TZVP, k-points 3x3x3: E_latt = -18.5 kJ/mol
PBE gives a bit higher numbers than TPSS, but both are still very low compared to what is expected. Larger basis set also gives lower numbers.
What am I doing wrong?

One possible clue: the D3 dispersion correction is exactly the same for any number of k-points.  Is it possible that it is calculating the dispersion for a non-periodic system with the same atoms?

That's a good guess. As you see, dftd3 is developed outside of PySCF and I forget about its PBC support. You can do a molecular calculation of the unit cell atoms to confirm if it's the same number.
If you want to check your workflow, you could do periodic HF (a bit more expensive than semilocal DFT) without any D3. In this paper, we show data for the HF cohesive energy of benzene (and Fig. 2 has the convergence with Nk).

@tberkel Yep, that was it, D3 gives same results for periodic and non-periodic systems:
non-periodic D3 dispersion
e_disp_whole_cell -0.0601768700590702
e_disp_monomer -0.011005613704864196
periodic D3 dispersion (number of k-points doesn't matter)
e_disp_whole_cell -0.0601768700590702
e_disp_monomer -0.011005613704864197
import dftd3.pyscf as disp pulls in simple-dftd3=1.0.0.  Is this the correct library?
The library itself does seem to support periodic systems via dftd3.interface.Structure(..., lattice=...) (link) but perhaps the pyscf interface to it doesn't pass the info about the periodic box?

Opened issue in the other project here: https://github.com/dftd3/simple-dftd3/issues/73

@tberkel Yep, that was it, D3 gives same results for periodic and non-periodic systems:
non-periodic D3 dispersion e_disp_whole_cell -0.0601768700590702 e_disp_monomer -0.011005613704864196
periodic D3 dispersion (number of k-points doesn't matter) e_disp_whole_cell -0.0601768700590702 e_disp_monomer -0.011005613704864197
import dftd3.pyscf as disp pulls in simple-dftd3=1.0.0 (link). Is this the correct library?
The library itself does seem to support periodic systems via dftd3.interface.Structure(..., lattice=...) (link) but perhaps the pyscf interface to it doesn't pass the info about the periodic box?

simple-dftd3 is the correct one. However, its pyscf interface does not implement the PBC code

@tberkel "A small suggestion: to eliminate basis set superposition error, you should actually calculate the single molecule energy surrounded by the ghost basis functions of the other molecules in the crystal."
Thanks!  Now I'm wondering which is better for the single molecule calculation: periodic with same size cell and ghost basis functions (for everything else in the cell), or periodic with large cell and no ghost basis functions, or non-periodic with ghost basis functions?
If non-periodic, how to select how many/which ghost atoms?  Do they have to be complete molecules?
Do you usually calculate just one monomer, or repeat that for every monomer? (they don't always have identical geometries)

The best choice (I think) is non-periodic with ghost basis functions. [You could also do a large periodic (super)cell with all ghosts except one molecule but this is probably more expensive than the non-periodic version without much benefit.]
We usually select ghost atoms to belong to complete molecules based on their distance from the central molecule (i.e., adding ghosts in "shells") and try to monitor for convergence with respect to number of ghost molecules or number of shells. In principle, they don't have to be complete molecules.
You should probably do this calculation for all unique monomers (in the case where they have different geometries). And if you're also including the energy of the geometry change of an isolated monomer (a "relaxation energy"), then you'll have only a single optimized geometry of the isolated monomer, but different relaxation energies for each different monomer geometry in the crystal. (Hope that made sense ...)


worker: fix reporting the import error to composer

The result variable wasn't used at all, kojiFinalizeJobResult is what actually reports the error.
Edit: Also, I had to fix the koji test. It was actually invisibly failing the whole time.
Signed-off-by: Ondřej Budai<EMAIL_ADDRESS>This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

Force-pushed to fix the koji test that was actually failing the whole time.


looking for appsettings.json

With a recent upgrade (and I can't tell you whether we are talking Moq. MSTest, .NET Core or Visual Studio)
I am seeing a lot of my tests fail with:
Test method MyTestMethod threw exception:
System.IO.FileNotFoundException: The configuration file 'appsettings.json' was not found and is not optional. The expected physical path was 'D:\....\my project\TestResults\Deploy_MarkHeaton 20230114T084906\Out\appsettings.json'.

  Stack Trace:
FileConfigurationProvider.Load(Boolean reload)
ConfigurationRoot.ctor(IList`1 providers)
ConfigurationBuilder.Build()
ActionFilterAttributeTest.ExecuteOnActionExecutingTest(String testName, IHeaderDictionary headerDictionary, IRequestCookieCollection cookieCollection, Type resultType) line 127
BasicAuthenticationAttributeTest.TestBasicAuthenticationAttributeNoUser() line 27

Obviously it is expecting an appsettings.json file in the OUT directory and that is not there. Google suggests issues with active project context with this sort of error.
Any thoughts?

Please find attached some logs for one of the failing tests.
2023_01_17_18_48_46_37876.zip
Thank you
Mark

Based on the paths it looks like your are trying to load appsettings from Deployed item path, this is MSTest concept so it would be interesting to see which version of mstest you are using.
And it would also be useful to see how you are providing the path to that file.
So a small repro would be nice.

I am also running into this issue.  When I upgrade MSTest.TestAdapter from 2.10.0 3.02 the tests can no longer find my appSettings.json file.
With 2.10.0 the TestContext.DeploymentDirectory in Microsoft.VisualStudio.TestTools.UnitTesting resolves to the relative path "\bin\Debug\net7.0".
With 3.0.2 it resolves to the relative path "Deploy_user 20230118T105844\Out".
I hope this helps.  I am working on uploading a repo for you.


More realistic website build time

It's 30m, not 15m, to build the preview.

LGTM ;)
Sent by mobile; please excuse my brevity.
On Thu, Apr 7, 2022, 17:27 netlify[bot] @.***> wrote:

✅ Deploy Preview for landscape ready!
Name Link
🔨 Latest commit fc913c9
https://github.com/cncf/landscape/commit/fc913c9bd00e6f060cb9822d6a363bfe180026d9
🔍 Latest deploy log
https://app.netlify.com/sites/landscape/deploys/624efeda98e7cd000943c414
😎 Deploy Preview https://deploy-preview-2550--landscape.netlify.app
📱 Preview on mobile Toggle QR Code...
[image: QR Code]
https://camo.githubusercontent.com/44132da80476dee7dfd05d95321c6802ed4feb991fad51f1c0ba3c7ab25ce533/68747470733a2f2f6170702e6e65746c6966792e636f6d2f71722d636f64652f65794a30655841694f694a4b563151694c434a68624763694f694a49557a49314e694a392e65794a31636d77694f694a6f64485277637a6f764c32526c6347787665533177636d5632615756334c5449314e5441744c577868626d527a593246775a5335755a58527361575a354c6d467763434a392e4e7a354841695a2d7865775656796f5f7a712d3935514d4359516e347234436c73744d614d68583966464d
Use your smartphone camera to open QR code link.
To edit notification comments on pull requests, go to your Netlify site
settings
https://app.netlify.com/sites/landscape/settings/deploys#deploy-notifications.
—
Reply to this email directly, view it on GitHub
https://github.com/cncf/landscape/pull/2550#issuecomment-1091878836, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFYIIZOP4NYGXQK75BEMR3VD35G5ANCNFSM5SZWQVUQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

@AndreyKozlov1984 can we work on improving build times :)?


Field "message" in "notifications" misses

form HA version 2021.09
On the "notifications" section does not display the "message" field and the YAML simulation does not work.
In addition - in modification
Thank you

Can you share some screenshots of the problem?
I have trouble understanding this issue.


“The profile's network is different from the network of the connected node...” shouldn't be shown

I am pretty sure this profile belongs to this network of the node !
what I did is that  i toggled the node to a different network node , but when i toggled back, i got this error tip.

I found the Root cause of the problem is that this profile's generation which is storaged in LocalStorage has been set empty
.

Related to #306


feat : Add User Authentication

Fixes #363
Changes:

[x] Add login activity
[x] Add Login model and setup login API service
[x] Add Sign up(new user) activity
[x] Add email and password field validation
[x] Add User model and setup signup(new user) API service
[x] Save token in shared preference and add JWT Utils
[x] Define final behaviour(flow) and UI
[x] Add logout option
[x] Reuse code to minimize code base.
[x] Update Auth to JSONAPI

Sign Up Demo

Login Demo

@iamareebjamal @arp95 @mahikaw @rohanagarwal94 @shreyasnbhat Please test and review.
@mananwason @the-dagger Please review.
Almost all the work for user authentication is done. Log out is remaining. I'll add it soon.

@niranjan94  Should we add option for isAuthEnabled in config.json ?

Should we add option for isAuthEnabled in config.json ? According to it app will show auth feature.

@Shailesh351 sounds good. Add also, this needs to be given as an option in the generator. (But that can come in a separate PR)

@iamareebjamal @arp95 @mahikaw @rohanagarwal94 @shreyasnbhat Please test and review :smile:

@iamareebjamal Made changes please review now

@iamareebjamal @mahikaw @rohanagarwal94 @shreyasnbhat @arp95 Please review :smile:

@iamareebjamal @rohanagarwal94 @shreyasnbhat @arp95 Guys please review :smile:


Version 3.6.2 doesn't work with AGP 3.5 and Gradle 5.4.1

I recently upgraded Android Studio to 3.5 along with the Android Gradle Plugin to 3.5 and Gradle Wrapper to 5.4.1 and the libraries .aar files are no longer generated, only pom files remain

I have tested on the sample project in this repo. I could not reproduce with these versions. Could you please send a maven-publish plugin configuration from your project?

I've created a sample  where the issue occurs, I don't know if its a problem with the plugin or its implementation within the project, it was working fine before the updates though.
Also, I've found a temporal workaround that alllows the .aar creation by wrapping the custom variants inside the blocks: mavenAar(MavenPublication) { afterEvaluate { ...custom variants stuff... }  }
I don't know much about gradle, its not perfect but it works.

Why do you apply android-maven-publish plugin on end of build.gradle files? You should do it before configure publishing. So, you have to replace apply plugin: 'maven-publish' to apply plugin: 'android-maven-publish', and remove apply plugin: 'android-maven-publish' from end of the file

Thank you, very much


Fix build

Taking the view that it's better to first get the build green and then
add support for new versions.

The Travis error looks like a transient network error that will succeed when retried. I did not look much at AppVeyor - it can't find pywin32>=223 but it exists https://pypi.org/project/pywin32/#history.

Hmm, there are no wheels for 3.4. Not sure if they dropped support and what you want to do about that. Still, this fixes the Travis build.

I added a workaround for Python 3.4 on Windows even though it's EOL soon. Python 2.7 may still fail due to pytest-dev/pytest/issues#4770 coming up in the last few hours.

All tests should now pass (on re-run of AppVeyor/Python 2.7)

Thanks!


WIP

I'm subscribing myself here because I want to see how you'll do parsing.

This is aiming for the typical flow of parsing bytes into JSON, and then converting that JSON into regular Haskell types.

Yeah that's alright!

I am curious about one aspect of the codec approach: Since parsers are applicative, how do you handle tagged constructors? For example Either Bool Int is normally encoded as something like { "tag": "Left", "val": false }. With a monadic parser it's pretty easy to grab the "tag" and then choose what to do based on that.

I could also offer monadic parsing, but without the auto-documentation
You can actually still do applicative parsing in that case. Something like this (pseudocode): (Left <$ literalField "tag" "Left" <$> field "val" ) <|> (Right <$ literalField "tag" "Right" <$> field "val"). That's how I do it in yamlparse-applicative:  https://hackage.haskell.org/package/yamlparse-applicative

This PR has basic decoding implemented as of fdf10a2. I think it's mostly alright, but I'm not happy with how it deals with escaped characters. Going through String is not ideal, but properly handling surrogate pairs is a pain.

I can recommend making tests like I did here (I didn't get them to pass):
https://github.com/NorfairKing/json-codec/blob/4ffc5ef8e236e7ae4ee7c7398df235f203e9f333/test/JSON/CodecSpec.hs

I'm going to merge this PR and cut an initial release. Then I'm going to (probably slowly) develop the features I listed above. If you're interested in following along, there will be more PRs in the coming days and weeks.


"[facebook] unable to extract uploader" Can't download video that's Age Restricted

Greetings, I have noticed the same problem as #10479. Even after updating it has the same error, and the video is still available to watch on FB. Although it is apparently age restricted, even though there's no indication of that when I have it loaded while logged in. When I tried to open it in a private window, it shows a 'broken link' image, and the following:
"This Video Isn't Available Anymore
The link may be broken or the video may have been removed. You can explore more videos or try logging into facebook.com and then visiting the link again."

Also I'm not sure if I have the right the right syntax for the --cookies-from-browser, when I tried to use it, a pop-over appeared on the screen saying that this app can't run on this PC.
C:\_______>>yt-dlp.exe --cookies-from-browser brave -F https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915
Access is denied.

[facebook] Extracting URL: https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915
[facebook]<PHONE_NUMBER>334915: Downloading webpage
WARNING: [facebook] unable to extract uploader; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [facebook]<PHONE_NUMBER>334915: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

C:\_______>>yt-dlp.exe -U
Current version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
Current Build Hash: 468a6f8bf1d156ad173e000a40f696d4fbd69c5aa7360229329b9063a388e7d0
Updating to<EMAIL_ADDRESS>from yt-dlp/yt-dlp ...
Updated yt-dlp to<EMAIL_ADDRESS>from yt-dlp/yt-dlp

C:\_______>>yt-dlp.exe https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915
[facebook] Extracting URL: https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915
[facebook]<PHONE_NUMBER>334915: Downloading webpage
WARNING: [facebook] unable to extract uploader; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [facebook]<PHONE_NUMBER>334915: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

C:\_______>>yt-dlp.exe "https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915"
[facebook] Extracting URL: https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915
[facebook]<PHONE_NUMBER>334915: Downloading webpage
WARNING: [facebook] unable to extract uploader; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [facebook]<PHONE_NUMBER>334915: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

Thank you, Shalom.
[debug] Command-line config: ['https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915', '--list-formats', '-v']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [1a176d874] (win_exe)
[debug] Python 3.8.10 (CPython AMD64 64bit) - Windows-10-10.0.19045-SP0 (OpenSSL 1.1.1k  25 Mar 2021)
[debug] exe versions: ffmpeg 7.0.2-essentials_build-www.gyan.dev (setts), ffprobe 7.0.2-essentials_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.21.0, brotli-1.1.0, certifi-2024.08.30, curl_cffi-0.5.10, mutagen-1.47.0, requests-2.32.3, sqlite3-3.35.5, urllib3-2.2.3, websockets-13.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets, curl_cffi
[debug] Loaded 1838 extractors
[facebook] Extracting URL: https://www.facebook.com/tadeodaniel.moracruz/videos/2971407446334915
[facebook]<PHONE_NUMBER>334915: Downloading webpage
WARNING: [facebook] unable to extract uploader; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
ERROR: [facebook]<PHONE_NUMBER>334915: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
  File "yt_dlp\YoutubeDL.py", line 1626, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1782, in __extract_info
  File "yt_dlp\YoutubeDL.py", line 1841, in process_ie_result
  File "yt_dlp\YoutubeDL.py", line 2847, in process_video_result
  File "yt_dlp\YoutubeDL.py", line 1123, in raise_no_formats
yt_dlp.utils.ExtractorError: [facebook]<PHONE_NUMBER>334915: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

Originally posted by @life777eternal in https://github.com/yt-dlp/yt-dlp/issues/10479#issuecomment-2420346587

Also I'm not sure if I have the right the right syntax for the --cookies-from-browser, when I tried to use it, a pop-over appeared on the screen saying that this app can't run on this PC.

How strange. Did you run it in the same command prompt window as the other commands?

Aye @gamer191 it was in the same window as all the others, and not running as administrator, then I opened another as administrator, with the same result.

@bashonly
The same error occurs, but the video is opened in the browser without authorization.

yt-dlp -vU https://www.facebook.com/reel/510163451947976/?mibextid=ZZyLBr
[debug] Command-line config: ['-vU', 'https://www.facebook.com/reel/510163451947976/?mibextid=ZZyLBr']
[debug] Encodings: locale cp1251, fs utf-8, pref cp1251, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version<EMAIL_ADDRESS>from yt-dlp/yt-dlp [67adeb7ba] (pip)
[debug] Python 3.11.1 (CPython AMD64 64bit) - Windows-10-10.0.22000-SP0 (OpenSSL 1.1.1q  5 Jul 2022)
[debug] exe versions: none
[debug] Optional libraries: Cryptodome-3.20.0, brotli-1.1.0, certifi-2023.07.22, mutagen-1.47.0, requests-2.32.3, sqlite3-3.39.4, urllib3-2.0.5, websockets-13.1
[debug] Proxy map: {}
[debug] Request Handlers: urllib, requests, websockets
[debug] Loaded 1839 extractors
[debug] Fetching release info: https://api.github.com/repos/yt-dlp/yt-dlp/releases/latest
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)
[facebook:reel] Extracting URL: https://www.facebook.com/reel/510163451947976/?mibextid=ZZyLBr
[facebook] Extracting URL: https://m.facebook.com/watch/?v=510163451947976&_rdr
[facebook]<PHONE_NUMBER>47976: Downloading webpage
ERROR: [facebook]<PHONE_NUMBER>47976: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U
Traceback (most recent call last):
File "C:\Users\Nicu\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1625, in wrapper
return func(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Nicu\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1781, in __extract_info
return self.process_ie_result(ie_result, download, extra_info)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Nicu\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1840, in process_ie_result
ie_result = self.process_video_result(ie_result, download=download)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Nicu\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 2846, in process_video_result
self.raise_no_formats(info_dict)
File "C:\Users\Nicu\AppData\Local\Programs\Python\Python311\Lib\site-packages\yt_dlp\YoutubeDL.py", line 1122, in raise_no_formats
raise ExtractorError(msg, video_id=info['id'], ie=info['extractor'],
yt_dlp.utils.ExtractorError: [facebook]<PHONE_NUMBER>47976: No video formats found!; please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

@nikalasmd unrelated to this issue. you are experiencing:

https://github.com/yt-dlp/yt-dlp/issues/11337

which has been fixed in master. see how to update to master with pip

Same issue with private videos, despite specifying the --cookies-from-browser option.


NIFI-5309 update the logger message to get the output format from outputFormat Variable

Updated the info message of logger printing the output format of flow files records.
This change will print the output format in the logs of selectHiveQl processor based on the outputFormat variable value

@MikeThomsen Why the PR says "This pull request is closed, but the ammitt90:NIFI-5309 branch has unmerged commits."
Is there anything which I am missing ??

You won't see any sign that it's been merged in your repo until you pull the latest master branch from apache/nifi on GitHub. You can see your commit in master here


Add time offset to uploader

A few tweaks from what's currently on staging: changed the header text to "Offset Time", left aligned "Hours Adjusted", and not adjusting anything for photos with no date set.

Okay, I think everything here is updated, and I fixed the weirdness with package-lock.json. Using refs is also the convention in React Native, so it's helpful to know that's preferred over id attributes for web too.


Await/ then not working as expected.

By default The text to speech engine uses an async call, this causes the main Dart thread to go on with whatever line of code comes next, this leads up to another setstate() call after the TTS speak function which reverts the animation state from Speaking to Idle almost instantly.
is there any way to avoid this issue?
I want it to work as follows:
setstate(() => _animation = 'Speaking')
wait until the TTS is finished speaking
setstate(() => _animation = 'Idle')
If I'm misunderstanding something, could you please point it out? in case this is how Dart works then if you have any workarounds that'd be great.
Simplified code for inspection:
void _speak(String sentence) async {
    if (!_isSpeaking) {
      setState(() => _animation = 'Speak');
      setState(() => _isSpeaking = true);

      var result = await tts.speak(sentence);
      if (result != null) {
        setState(() => _isListening = false);
        setState(() => _isSpeaking = false);
      }

}

 } else {
      setState(() => _isSpeaking = false);
    }
  }

I have tried the .then() but it isn't executing at all. If anybody has pointers that'd be awesome.
I have scrolled through the TTS documentation but couldn't find useful information on the problem I'm currently facing.

void _speak(String sentence) async {
    if (!_isSpeaking) {
      setState(() => _animation = 'Speak');
      setState(() => _isSpeaking = true);

      var result = await tts.speak(sentence);
      if (result != null) {
        setState(() => _isListening = false);
        setState(() => _isSpeaking = false);
      }

}

 } else {
      setState(() => _isSpeaking = false);
    }
  }

@abooodbah
I'm not sure this code make the issue reproducible
can you provide your flutter doctor -v and a complete runnable minimal reproducible code sample

void _speak(String sentence) async {
    if (!_isSpeaking) {
      setState(() => _animation = 'Speak');
      setState(() => _isSpeaking = true);

      var result = await tts.speak(sentence);
      if (result != null) {
        setState(() => _isListening = false);
        setState(() => _isSpeaking = false);
      }

}

 } else {
      setState(() => _isSpeaking = false);
    }
  }

@abooodbah
I'm not sure this code make the issue reproducible
can you provide your flutter doctor -v and a complete runnable minimal reproducible code sample

I think it is reproducible using the code snippet I provided if you run something similar, I read through the documentation and I believe the reason the if statement is not executing has to do with the nature of tts.speak(sentence), I believe that when the code reaches it; it evaluates to false meaning the condition is not met and therefore the state never changes.
Anyways, for now, I have used a workaround but I still can't get my head around how dart really deals with these situations.


[Feature] Revocation of single certs (EXPOSUREAPP-12455)

Feature Branch for the Revocation of single Certificates.

Hi @BMItr, I found an error in the family_tests_strings.xml. How should I proceed to correct it?


SBML and SBTab folder

Can we have a SBTab folder as well to store the live model and previous versions?
I would also recommend sub folders to each version.
Maybe we can have date folders and then sub folders with SBML and SBTab?
Example:
WormJam_20190307
- SBML
- SBTab
- Compounds_SBTab
- Reactions_SBTab
- ...

@michaelwitting I've now added the files in the following manner
WormJam GitHub
↳ model_versions
↳2017-12-18
↳2018-02-27
↳2018-08-21
↳2019-01-01
↳SBTab - Folder contains SBTab files
↳SBML File
Each of the folders should have this layout. There is a underscore in the 2017 version which I just noticed, and will fix that with the next push - let me know if there was anything else related to getting the models online, otherwise I'll close the thread.

Great! Thank you very much!
Shall we change to a .txt file based system? Any tab separated txt file can be read by Excel, but Excel is not useful for Git.

TSVs are now online!


ETCD not showing metric & version

I am using  Openshift Origin (3.9) on CentOS7 with following infrastructure.
OS : CentOS Linux release 7.5.1804 (Core)
1 MASTER (<IP_ADDRESS>)
3 ETCD (<IP_ADDRESS>,<IP_ADDRESS>,<IP_ADDRESS>)
2 Infra
3 Nodes
Installation done using ansible.
Openshift & ETCD Cluster running fine

Want to get Prometheus metric of ETCD nodes.
Prometheus configuration snip.

When trying to fetch metric from Prometheus Container its showing all metrics.

But in Prometheus console in Target ETCD showing down.

ETCD Cluster also showing healthy from Master server.

little typo ..wrong port mention in config


Is this project alive?

Hi guys,
I'm asking because last update was more than two years, and I'm little worried about the version of language, liblaries, plugins, etc, correlates it with security issues...

Hey, @weyderfs  Just an FYI, I'm still using this software on Opensearch.2.5.0.

As far as I can tell this project is moribund : (. It would be nice if the owner actually said so.

It's been asked before https://github.com/lmenezes/cerebro/issues/340
There was also a thread with back and forth from @dubisdev but I can't find it.
They've been maintaining a fork at https://github.com/RokiiApp/

It's been asked before #340
There was also a thread with back and forth from @dubisdev but I can't find it.
They've been maintaining a fork at https://github.com/RokiiApp/

Nice , Thank for the  fork.

It's been asked before #340
There was also a thread with back and forth from @dubisdev but I can't find it.
They've been maintaining a fork at https://github.com/RokiiApp/

Nice , Thank for the fork.

Guys this Fork is other software, It has no connection with Cerebro from this repository here...

After search a little bit in the Google, I found this project: http://www.elastichq.org/

Guys this Fork is other software, It has no connection with Cerebro from this repository here...

I can confirm this :) This project is being confused with @cerebroapp (which is also unmaintained)

Guys this Fork is other software, It has no connection with Cerebro from this repository here...

I can confirm this :) This project is being confused with @cerebroapp (which is also unmaintained)

Ooops! My bad lol, both unmaintained cerebros lol.

After search a little bit in the Google, I found this project: http://www.elastichq.org/

Thanks!
Unfortunately this has not been updated this year and does not support 8.x.  ES keeps updates coming with such frequency it is really difficult for 3rd party open source developers to keep up.

Although it does not document ES 8 support, it work with it.

I changed to https://github.com/cars10/elasticvue - it's pretty nice and very similar to cerebro


shape mismatch bug in hred and cannot reproduce the result

Hi,
I am trying to reproduce the result of hred. But I encountered the following error
"ValueError: sequence_length must be a vector of length batch_size, but saw shape
: (?, ?)"
I think the bug lies in hred.py line 81, the related code block from line 78 - 82 is :
ecdr_states = encoder(         context_embed,         medium=['flatten', _add_source_speaker_token],         sequence_length_minor=data_batch['source_length'],         sequence_length_major=data_batch['source_utterance_cnt'])
I fixed it by reshaping the data_batch['source_length'] to a vector and the program can run. However the result is far worse than either the paper or the reported chart. Here is my result:
-- bleu-1 prec=0.2850111431585633, recall=0.28461374427599595
-- bleu-2 prec=0.1638788596563101, recall=0.16767654177822935
-- bleu-3 prec=0.10135466013603585, recall=0.10516786599271233
-- bleu-4 prec=0.050318838607421, recall=0.05182164173830952
Also is the n-gram bleu score here individual or cummulative(i.e. the average of 1-gram,...n-gram)? Thanks.

Fixed all issues. Thank you for reporting this.
n-gram bleu scores should be cumulative.


Better multi-file support

This PR introduces better support for Ergo files with dependencies. For any Ergo file:

The plugin searches the same directory as the file and any subdirectories for other Ergo or CTO files. All are added to the build path.
The plugin also adds any Ergo files in the ../lib directory relative to the Ergo file
The plugin also adds any CTO files in the ../models directory relative to the Ergo file

The plugin is also upgraded to use Cicero 0.9.7

Note: there is some code in template studio which handles changes to CTO files. This still go directly through the model manager. It's a bit tricky since the code to handle namespace renaming is quite different from the one for a change to the types without namespace change. It would probably be better if that code was encapsulated in Cicero (or Concerto).


No automatic formatting (yet?)

There's currently no way of formatting the documents automatically like it is with any other language that comes preinstalled.
Would be awesome if you could add it :)

I intend to get there. It has been gymnastics competition season for my ten-year-old daughter but I'm now working back around to projects like this.

:+1:

Hi, any update ?


Does not work in review queues

It would be great if FDSC was able to work from the review queues.
Requested by David Postill

Just a note if this gets implemented: Many spam posts in the review queue are audits, and you wouldn't want the US to try to report already deleted posts. So you may want to check if the post is already deleted before reporting.
I know that Smokey will not report a deleted post, but just to reduce the noise.

@Fortunate-MAN By the looks of it, smokey already silently aborts the operation if the post is already deleted: https://github.com/Charcoal-SE/SmokeDetector/blob/master/metasmoke.py#L44


Redesign workflow using ZenHub

I completed this epic.

Now I am closing this epic.

Reopening to learn what ZenHub does.

This epic is now done.


Fold with macha is unreadable

Description
When I fold the code guide, the color of the text is unreadable.
Neovim version
NVIM v0.9.2
Build type: Release
LuaJIT 2.1.0-beta3

Terminal and multiplexer
wezterm and zellij
Catppuccin version / branch / rev
version of nvchad (sorry)
Steps to reproduce
1 open nvim with file and multiple line
2 Select multiple line
3 use zf to fold
4 remove your cursor from the folded line
(there is other way to do it)
Expected behavior
A lisible line, maybe in a pastel color, nvim base theme seems to make it darker as comment but I think it should be more visible
Actual behavior
the line is really dark and it's almost unreadable I need to get very close to the screen, but when I put my cursor on the line it's ok.
Repro
-- DO NOT change the paths and don't remove the colorscheme
local root = vim.fn.fnamemodify("./.repro", ":p")

-- set stdpaths to use .repro
for _, name in ipairs({ "config", "data", "state", "cache" }) do
  vim.env[("XDG_%s_HOME"):format(name:upper())] = root .. "/" .. name
end

-- bootstrap lazy
local lazypath = root .. "/plugins/lazy.nvim"
if not vim.loop.fs_stat(lazypath) then
  vim.fn.system({ "git", "clone", "--filter=blob:none", "https://github.com/folke/lazy.nvim.git", lazypath })
end
vim.opt.runtimepath:prepend(lazypath)

-- install plugins
local plugins = {
  "catppuccin/nvim",
  -- add any other plugins here
}
require("lazy").setup(plugins, {
  root = root .. "/plugins",
})

vim.cmd.colorscheme("catppuccin")
-- add anything else here

What does

version of nvchad (sorry)

mean?


Add graph view

Is there a way to add graph view for notes connection?

That would be quite a bit of work I believe, since I am not sure how to extract the graph data from the obsidian vault at the moment. Some CSS + Rust handling would probably be needed on the Zola side. This repo is currently intended as a simple fuzz-free alternative to Obsidian Publish for basic sharing but I do hope that somebody can fork it / submit pull requests to add in more nice features!!

I will leave the issue opened so that anyone who is interested to contribute can see it :)

Neo4j would be relevant if myself / anyone has spare time to implement a built-in graph view, but back-link parsing needs to be implemented first.

Beta support for graph view is available now in dev branch. Please refer to example repo's netlify.toml on fetching from dev branch.
ab82cdda091129af891375201445a4ffbfc277db

Officially supported: 7809c68ae5adca1be34f51f0a89f4e23e700d5f3


Feat: Reduce the latency of WebRTC connections to under 200ms

For now, our WebRTC connections have a latency of around 1s (what a magic number!). We need to reduce it as much as possible.
Some small tests are done with/without the SRT sink branch.

When running without the SRT sink branch, the latency is around 200ms.

When running with SRT sink, video/audio-queue has a non-zero buffer level (around same buffers for 1 second).

This has been addressed in PR. Now the end-to-end latency is around 500ms.


add pgsql and mssql

add mssql input
add pgsql input

1、changelog
2、link issue

good

close #295 #296

Why using nested directory? If so, it seems that plugin mysql should also belong to the rdb directory.


Add RetryStrategy for S3 file system

This PR add RetryStrategy support for s3 file system, thus it will retry when connection fails. It also upgrade aws sdk to 1.11.321 which  supports AdaptiveRetryStrategy which user may choose to use.
For RetryStrategy, 2 configs are added:
hive.s3.max-attempts: Maximum attempts for connections to a single http client.
hive.s3.retry-mode: 'standard'， 'adaptive' or legacy, client will be created w/o retrystrategy if it's empty.

@majetideepak Can you help review this PR? cc @FelixYBW

@yma11 When the call client_->HeadObject or client_->GetObject fail, can we get the the retry number from outcome? If so, let's print the number in error message. So user can know it does be retried and may increase retry number.

@yma11 When the call client_->HeadObject or client_->GetObject fail, can we get the the retry number from outcome? If so, let's print the number in error message. So user can know it does be retried and may increase retry number.

Hi @FelixYBW There is no interface to get the retry number from outcome. Should be there some info printed during the retry process telling user what's happening? Not sure about it. However, we can get whether the error is retryable based on the response code and give some hints when necessary. Please take a look.

@yma11 I will approve again once @FelixYBW comment is addressed.

Thanks @majetideepak,  I have updated. Can you take a look again? There is a build failure in CI, which is caused by the old version aws sdk doesn't have GetRetryCount() API and seems version upgrade in this PR can't be reflected immediately.

There is a build failure in CI, which is caused by the old version aws sdk doesn't have GetRetryCount() API

@yma11 Let's update the library first in a separate PR (setup-adapters.sh). That will give us the newer CI images.

There is a build failure in CI, which is caused by the old version aws sdk doesn't have GetRetryCount() API

@yma11 Let's update the library first in a separate PR (changes inside setup-adapters.sh). That will give us the newer CI images with the updated library.

Thanks for suggestion. I have created 9756 for version upgrade. Will update this PR once it's merged.

@majetideepak can you approve this PR again? Thanks.

@yma11 some minor comments. Were you able to test this change on your local setup?

I don't have local env for this test for now. I will add corresponding configs at Gluten side and then test it in AWS.

I don't have local env for this test for now. I will add corresponding configs at Gluten side and then test it in AWS.

@yma11 thanks! Can you please confirm and update here? We cannot add CI tests for some of these changes, but the expectation is that the author tests the change locally.

@yma11 thanks! Can you please confirm and update here? We cannot add CI tests for some of these changes, but the expectation is that the author tests the changes on their end.

Confirmed it works.

@majetideepak can you help ping anyone who can merge this PR? Thanks.

@pedroerp can you please help merge this? Thanks!

@yma11 I pinged Pedro again. Can you please rebase with main? Sorry for the delay.

@yma11 I pinged Pedro again. Can you please rebase with main? Sorry for the delay.

Done. Really thanks for driving merge.


Idea:Wiki.md in the root folder is a better solution for working toghteher on wiki pages

engine-x version:
devices test on:
developing environments

NDK version:
Xcode version:
VS version:

Steps to Reproduce:

create a uniqie repo maybe better

Try it.

create one: https://github.com/c4games/engine-x-wiki

perfect!


Microsoft logo refers to the wrong path on Code of Conduct FAQ page

Describe the bug
The path to Microsoft logo on the Code of Conduct FAQ page shows a 404 error. It is not properly referenced in the permalink.
To Reproduce
Steps to reproduce the behavior:

Go to Code of Conduct FAQ
Check the logo on top.

Expected behavior
The Microsoft logo should be displayed.
Screenshots

Desktop (please complete the following information):

OS: [iOS, Windows, Chrome OS and all other OS]
Browser [All web browsers]
Version [Any version]

Smartphone (please complete the following information):

Device: [Any iPhone or Android or Windows device]
OS: [Any compatible OS]
Browser [Any supported browser ]
Version [Any supported version]

Additional context
No additional info.

@Aaron-Junker Commenting to avoid stale state. 😅

Check #297 for the fix.


CSRF Login vulnerability for web login (and other unauthenticated post requests)

The following test case demonstrates the issue (this test will fail without csrf  checks)
@override_settings(REST_USE_JWT=True)
@override_settings(JWT_AUTH_COOKIE='jwt-auth')
def test_login_csrf(self):
    from rest_framework.test import APIRequestFactory
    from django.contrib.sessions.middleware import SessionMiddleware
    from dj_rest_auth.registration.views import LoginView

    get_user_model().objects.create_user(self.USERNAME, '', self.PASS)
    view = LoginView.as_view()

    def add_session_to_request(request):
        """Annotate a request object with a session"""
        middleware = SessionMiddleware()
        middleware.process_request(request)
        request.session.save()

    factory = APIRequestFactory(enforce_csrf_checks=True)
    request = factory.post(self.login_url, {
        "username": self.USERNAME,
        "password": self.PASS
    })
    add_session_to_request(request)
    response = view(request)
    self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)

There are 2 issues:

the login (and other unauthenticated post) forms have csrf when using  rest_framework.authentication.SessionAuthentication'.

the login (and other unauthenticated post) forms have csrf when using JWTCookieAuthentication

1 can be fixed with using different views for web clients that only use SessionAuthentication. 1 is not possible to fix as a single view because of how drf handles multiple auth backends (see notes below).
2 can be fixed with the following:
from rest_framework_simplejwt.authentication import JWTAuthentication
from rest_framework import exceptions
from rest_framework.authentication import CSRFCheck
class JWTCookieAuthentication(JWTAuthentication):
    """
    An authentication plugin that hopefully authenticates requests through a JSON web
    token provided in a request cookie (and through the header as normal, with a
    preference to the header).
    """
    def enforce_csrf(self, request):
        """
        Enforce CSRF validation for session based authentication.
        """
        check = CSRFCheck()
        # populates request.META['CSRF_COOKIE'], which is used in process_view()
        check.process_request(request)
        reason = check.process_view(request, None, (), {})
        if reason:
            # CSRF failed, bail with explicit error message
            raise exceptions.PermissionDenied('CSRF Failed: %s' % reason)

    def authenticate(self, request):
        from django.conf import settings
        cookie_name = getattr(settings, 'JWT_AUTH_COOKIE', None)
        header = self.get_header(request)
        self.enforce_csrf(request)
        if header is None:
            if cookie_name:
                raw_token = request.COOKIES.get(cookie_name)
            else:
                return None
        else:
            raw_token = self.get_raw_token(header)

        if raw_token is None:
            return None

        validated_token = self.get_validated_token(raw_token)
        return self.get_user(validated_token), validated_token

Django rest framework explicitly disables csrf checks for unauthenticated post requests because of the way django rest works with multiple authentication classes, ie, if you have both Session and Token auth classes for the same login view, its not possible to enforce csrf on login with breaking the Token auth; clients that use token auth may not be web clients and wouldn't have the csrf vulnerability because they are not using cookies.
The built in django login views (django.admin.contrib.auth.views) all enforce csrf on login and other unauthenticated post requests.
The django rest framework recommends using django's login forms for this reason:
https://www.django-rest-framework.org/api-guide/authentication/

Warning: Always use Django's standard login view when creating login pages. This will ensure your login views are properly protected.

CSRF validation in REST framework works slightly differently to standard Django due to the need to support both session and non-session based authentication to the same views. This means that only authenticated requests require CSRF tokens, and anonymous requests may be sent without CSRF tokens. This behaviour is not suitable for login views, which should always have CSRF validation applied.

Login CSRF is explicitly outlined in owasp.org guidelines and should be addressed.
https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#login-csrf

Hi @ajbeach2, thanks for adding this issue. I'm going to run the test to try and reproduce it.

I should clarify the issue here is the lack of csrf checks which is potentially vulnerable.

I'm still thinking about this, but my initial reaction is that http 200 is actually the right response in this scenario. The Owasp notes on Login CSRF are unfortunately operating on some assumptions that don't map 1:1 to newer architectures (SPA-to-API).
I'm especially curious about this one:

if an attacker uses CSRF to authenticate a victim on a shopping website using the attacker's account, and the victim then enters their credit card information, an attacker may be able to purchase items using the victim's stored card details

How exactly does that happen? How does the attacker get me to login using their details? Login is POST only so it can't be a malicious link click.

Maybe we can expose a new setting calledLOGIN_HTTP_REFERRER_WHITE_LIST = ['example.com/'] for those who use the same host for the client and server, but also want to protect against malicious logins from third party sites? (similar to a same-origin policy)

so this assumes that cross origin is misconfigured on the backend. Its much more difficult to do CSRF via ajax.  I don't know that this is a likely scenario, as i wasn't able to do a csrf with the default django settings.
But lets say i trick the user into going to my index.html.  The post request would return and set a cookie in the users browser with a session token. The user is then logged into an account I can control and i can redirect the user to http://mydomain.com. He uses the site, maybe enters in sensitive info. Because its an account i control, I can login myself.
// hosted on myevildomain.com
<!DOCTYPE html>
<html>
  <body>
    <script>
      window.onload = function() {
          var xmlhttp = new XMLHttpRequest();
          xmlhttp.open("POST", "http://mydomain.com/login/);
          xmlhttp.setRequestHeader("Content-Type", "text/plain;charset=UTF-8");
          xmlhttp.withCredentials = true;
          xmlhttp.send(JSON.stringify({"username":"david", "password":"password123"}));
    </script>
  </body>
</html>

The above would fail if using a double submit cookie, which django takes care of. In the case of SPA you have to read the that token form a cookie. https://docs.djangoproject.com/en/3.0/ref/csrf/#ajax

I don't know that adding LOGIN_HTTP_REFERRER_WHITE_LIST is going to help. What is needed is to ensure that Django csrf middleware should be used in the same way as in django.contrib.auth.views package when dealing with web clients that use cookies for auth.
What i am doing in my SPA is just rewriting the forms/views provided in the django.contrib.auth and i keep all of the CSRF checks.  I use then separate url/views/auth for endpoints for the web client, and i have other url/views for non-web clients that use tokens.
Django rest disables csrf within the APIView class, so csrf checks are normally handled in rest_framework.authentication class, which by default will disable checks for unauthenticated users so you have to create a sub class and enable csrf checks for anonymous users.
So my solution looks something like this:
class SessionAuthAll(SessionAuthentication):
    def authenticate(self, request):
        user = getattr(request._request, "user", None)
        if not getattr(request, "_dont_enforce_csrf_checks", False):
            self.enforce_csrf(request)

        return (user, None)

class LoginViewWeb(APIView):
    permission_classes = ()
    authentication_classes = (SessionAuthAll)

    @method_decorator(never_cache)
    @method_decorator(ensure_csrf_cookie)
    def dispatch(self, *args, **kwargs):
        return super(LoginView, self).dispatch(*args, **kwargs)

    def post(self, request, format=None):
        user = authenticate(
            request,
            username=request.data.get("username", None),
            password=request.data.get("password", None),
        )
        if user is None:
            return Response(
                {"error": {"login": ["Invalid username or password"]}},
                status=status.HTTP_401_UNAUTHORIZED,
            )

        login(request, user)
        return Response(
            {"authenticated": True, "user": UserSerializer(user).data},
            status.HTTP_200_OK,
        )

Okay, I'm going to investigate this a bit more and maybe put together a PR that allows developers to enable CSRF protection on dj-rest-auth views (without breaking anything).

Hallo, I don't know if any moves have been made on this, but I hope that these links might offer something small to the discussion (though I realise they're not on the subject of login-type views in and of themselves, but on CSRF and jwt-cookie-auth on authenticated views):
https://security.stackexchange.com/questions/170388/do-i-need-csrf-token-if-im-using-bearer-jwt
https://security.stackexchange.com/questions/115766/is-a-jwt-usable-as-a-csrf-token
In summary it seems to me (and tbh quite a bit of the more detailed reads go right over my head)  that as long as any kind of automatic auth is  implemented, csrf tokens should also be used (even with REST_SESSION_LOGIN set to false, given that the jwt-cookie auth is happening automagically - perhaps im misunderstanding this).
The go to solution seems to be to set a X-CSRFToken header along with any POST requests; though again, I realise its slightly different from the login problem, given that in that case its dealing with an unauthenticated user, rather than protecting a user from being tricked into sending an authenticated request.
https://docs.djangoproject.com/en/3.0/ref/csrf/
Also worth looking at I think in regards to an ajax request. Turning it to false opens it up to XSS attacks, but at that point, you'd better hope the jwt-cookie is doing its job:
https://docs.djangoproject.com/en/3.0/ref/settings/#std:setting-CSRF_COOKIE_HTTPONLY
Sorry if this has all been discussed/dealt with already <3

Closing this now that #103 has been merged. Thank you for raising this issue!

TL;DR: CSRF for login is good, would be happy if you tackle it, now have to workaround/customize.
Came here trying to wrap my head around CSRF protection.
Reverse found that you have built in enforce_csrf mechanism.
But then I saw #True at your own risk comment and somehow came here
Because I use only SessionAuthentication https://github.com/iMerica/dj-rest-auth/pull/103 solution is not suitable for me (is it?).
So I ended up by subclassing LoginView (with help of https://stackoverflow.com/questions/49275069/):
class CustomLoginView(LoginView):
    @method_decorator(csrf_protect)
    def dispatch(self, *args, **kwargs):
        response = super(CustomLoginView, self).dispatch(*args, **kwargs)
        return response

and adding view that sets CSRF cookie on demand (Django docs):
@ensure_csrf_cookie
def set_csrf_cookie(request):
    return JsonResponse({"detail": "CSRF cookie set"})

I have no solution how to improve https://github.com/iMerica/dj-rest-auth/pull/103 so it works for SessionAuthentication (because of lack of experience and it's very sensitive question)
Hope some day out-of-the-box solution will come
Also (have not dig deep to understand) why @alichass implemented and used get_csrf_cookie path in tests, but didn't add it for production.
It would help SPAs in enforcement of CSRF protection.
Why bother?

DRF docs for SessionAuthentication clearly say that login views should tackle it:

This behaviour is not suitable for login views, which should always have CSRF validation applied. — source

https://en.wikipedia.org/wiki/Cross-site_request_forgery#Forging_login_requests
https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#login-csrf

An attacker may forge a request to log the victim into a target website using the attacker's credentials; this is known as login CSRF. Login CSRF makes various novel attacks possible; for instance, an attacker can later log into the site with his legitimate credentials and view private information like activity history that has been saved in the account. This attack has been demonstrated against Google[11] and Yahoo.[12]

(my inexperienced guess) it's possible for attacker to guess credentials via Timing Attack such or such, brutforce credentials or something like that..


Role is null in FailedAssert

For asserts which are type of "WARN" FailedAssertRoleType value is null.
Example of used schematron assert:
<assert id="BR-BT-00505-0022" role="WARN" diagnostics="BT-505-Organization-Company" test="count(cbc:WebsiteURI) > 0 or not(cac:PartyName/cbc:Name)">rule|message|BR-BT-00505-0022</assert>  .
More samples available in https://github.com/OP-TED/eForms-SDK/blob/1.0.0/schematrons/static/validation-stage-2a.sch.
I am also attaching debug screenshot for more clarifications:

@rkottmann is this a bug within the validator, or is this related to the schematron rules provded by xrechnung?

as stated above it seems to be an error in the Validator API.  The Schemtron example above is valid schematron.

the API basically returns the content of the schematron output (svrl). It's just a reading via JAXB and return from the object. Seems to me, as if there is no "role" in the output. Can you confirm this?

Role is available, just not named as same as in svrl-kosit.xsd where it is "warning" and we have "WARN". Also, we have cases where one schematron has "error" and other one "ERROR" , therefore use of xsd will not work again. Why don't 'role' is not exposed as plain string?

@rkottmann What's your opinion on that?

To relax it to xs:string^.
thx for fixing

Well, then I'll do that. Wasn't sure about implications in e.g. xrechnung. I'll schedule this for the next minor release (targeted for december)

It is fully backwards compatible because it just relaxes requirements


Dashboard not found

I ran docker-compose up -d as stated in the readme, and seemed to be fine. I can load Grafina and piHole just fine. However, when I attempt to load http://localhost:3030/d/o9mIe_Aik/internet-connection?orgId=1, I get an error that says dashboard not found.
Am I missing something? Are the dashboards available from somewhere else?

You typically shouldn't have to run docker-compose up -d if you use the playbook to set things up—the Ansible playbook will install everything and configure the dashboards by itself, then bring everything up too.

You typically shouldn't have to run docker-compose up -d if you use the playbook to set things up—the Ansible playbook will install everything and configure the dashboards by itself, then bring everything up too.

Yeah, that's kinda what I thought would happen. Running the playbook with main.yml, all the tasks were either OK or Skipped.
PLAY RECAP ********************************************************************* <IP_ADDRESS>                  : ok=15   changed=2    unreachable=0    failed=0    skipped=14   rescued=0    ignored=0
I see the internet-monitoring folder and that seems to be in order.
In the URL, it points to .../d/o9mIe_Aik/internet-connection.  Is that a physical location in the filesystem somewhere? I can't actually find it.


GPT: Site has new design with new elements

Chat GPT now has new ids and attributes.
Login button changed -> "login_xq"      : "//button[//span[text()='Log in']]",
Send button changed -> "send_btn_xq"   : "//button[@data-testid='fruitjuice-send-button']",
Stop generating changed -> "wait_xq"       : "//button[@data-testid='fruitjuice-stop-button']",

Hey,
You can switch to the may_fixes branch for now. It includes a fix for the ChatGPT button changes.


[Volunteer] support configurable timeout for MotanPlugin

Volunteer help
In org.apache.shenyu.plugin.motan.cache.ApplicationConfigCache#build, we simply set the timeout to 1 second, which is obviously not in line with the use of production environment, so it's necessary to support configurable timeout.

There are other suggestions refers from https://github.com/apache/incubator-shenyu/issues/3176

also need to support config group.

also need to support config group.

sorry, group is supported now.


OpenAI example for 0.8.0-SNAPSHOT is out of date

Greetings!!!
In Spring-AI documentation for version 0.8.0-SNAPSHOT, the OpenAI example project is out of date. The example project was developed for version 0.2.0-SNAPSHOT and not compatible with 0.8.0-SNAPSHOT because the class org.springframework.ai.client.AiClient is replaced by org.springframework.ai.chat.ChatClient.
Need link to example project which is using version 0.8.0-SNAPSHOT.

I will create a high level issue to update the various places that older snapshot are being used and link to this one.
I think that the documentation you are referring to has already been updated to reflect the changes going to 0.8.0-SNAPSHOT.
https://docs.spring.io/spring-ai/reference/api/clients/openai.html#_getting_started
I will close the issue for now, please reopen if you feel something has not been addressed.
Thanks!


Fix FR002

Fix FR002

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

How has this been tested?

[ ] Unit test(s)
[ ] Integration test(s)
[x] Tested manually

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my own code
[X] I have commented my code, particularly in hard-to-understand areas
[X] My changes generate no new warnings
[X] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes
[X] I have checked my code and corrected any misspellings
[X] I have added frontend code and checked it for mobile & desktop

Task linked: CU-862jeudxw FR002 in DE and DE001 not exist

Task linked: CU-862jfetxw Update fields in postlogin (ex. EmailVerified)


TeamSpeak 3.1 requires API v21

This is no longer compatible with Teamspeak 3.1 it is complaining about the API version is 20 not 21.

I updated the API version number and tried to compile, it seems to work. Here is a zip if someone doesn't want to do it themselfs.
gkey_plugin_api21.zip

Thanks so much!! I will try it out when I get home.

It is working 100% again thanks for taking the time too make this work.

I just released a completely new version of the G-Key plugin, this is a complete rewrite from scratch: https://www.myteamspeak.com/addons/68ab6dfb-94a6-497c-b9e3-d14a4ed07955


Minor Feature Request: Add an option to stop after the next plot is complete

Great work.  Plotting away, looking forward to farming and seeing folks farm the first blocks on this.
One minor request - it would be nice to have a way to have a way interrupt the plotter and have it finish the current plot.  GH does this with a single ctrl-c, whereas a double ctrl-c stops immediately.
Cheers,
Ryan

Thanks for the request -- will add it to the list for minor patches.


feat(array): create shuffle function/spec

I'll take this. Should the shuffle be in place (modify the input array) or create a copy of the array?


Annotations in the same location

I have 3 points with same coordinate. So, they always in the cluster.
that is my code
self.mapClusterController = [[CCHMapClusterController alloc] initWithMapView:self.mapView];
self.mapClusterController.delegate = self;
self.mapClusterer = [[CCHNearCenterMapClusterer alloc] init];
self.mapClusterController.clusterer = self.mapClusterer;
	self.mapClusterController.cellSize = 50;
	self.mapClusterController.marginFactor = 1;

	self.mapClusterController.maxZoomLevelForClustering = 12;

How to devide them? I have tried  maxZoomLevelForClustering and  minUniqueLocationsForClustering with different values, but It doesn't help.

If annotations are in the exact same location, CCHMapClusterController will never split them up (otherwise, the annotations would be rendered on top of each other and not be accessible). maxZoomLevelForClustering and minUniqueLocationsForClustering are for annotations at different locations.
-Claus

ok, Thank You.


Run RST syntax check as a part of CI & pre-commit

To avoid wrong syntax usage in changelog and docs (and fixes like this one - https://github.com/schemathesis/schemathesis/commit/90a561bf59c0159dd45769233a7d7fef5e6cebe2)
Implementation notes
This project should fit - https://github.com/myint/rstcheck . It supports using as a pre-commit check:
  - repo: https://github.com/myint/rstcheck
    rev: ''
    hooks:
      - id: rstcheck
        additional_dependencies:
          - sphinx==3.1.2

Note: You have to fix all found errors (not sure how hard it could be with, e.g., syntax errors in code samples, probably their type can be changed to plain text).

Hello, I can try attempting this if its available!

Hi @wescran ! Sure thing

Hi, just an update. I have successfully implemented rstcheck into the pre-commit-config.yml. I am now going through the syntax check and fixing errors where they exist.

Done via #766 ! Thanks @wescran ! :)


Tencent updates

still a work in progress, happen to answer questions or discuss further.

unfortunately the base revision was overridden with some partial application of this, which makes it a bit painful to continue.. I'll have to update the base branch directly.


Use unsafe_get/put_pixel

This PR change most get_pixel/put_pixel into their unsafe equivalent unsafe_get_pixel/unsafe_put_pixel.
These functions are unsafe because there is no bound checks. However those bounds check are most of the time already enforced within the fns by looping in 0..height x 0..width.
It results in a very nice speedup in most benches but adds a huge amount of unsafes. We may probably need to refactor in a the future so only very few functions do use unsafes.

Thanks! Having to use unsafe everywhere does feel like an admission that our abstractions aren't good enough, but as you say we can worry about that later, and the gains from your changes are huge. I'm planning on adding a more efficient version of suppress non-maximum soon (see paper linked to from the relevant issue), so it'd be a waste to put too much effort into the current version. I will be keeping the simpler version around in test code to compare to the new algorithm to, so the simplifications are still useful.

Apparently "Pull requests that have a failing status can’t be merged from a phone". The build's already broken by dependencies, so LGTM if you want to merge this yourself.

merged then!
For the unsafes I am looking into using more ImageBuffer::from_fn for instance. Not perfect yet.


Location update on Map (Push)

hi,
As far as Java is concerned, I am a noob. So just wanted to ask you if I could use some kind of push mechanism to update the marker on my custom map. Could I work with some web sockets or something so that I don't have to poll periodically? Any pointers will help. Thanks - M.M

Yes, you can use WebSockets. That's what official web interface and apps do.

cool thanks. Any links with a simple implementation that I could refer to, or build upon?

Here is the JavaScript code: Root.js.

excellent, thanks :100:

Dear @m-menon, do you have the plain javascript code for it ? Since current code(asyncUpdate: function) is using Extjs.
Thanks.


Alternative representation

I've been fiddling with the idea for a while now. In many cases, I need to have different representations of the same page. There are ways (namely headers) but those have limitations. They does not use the same pipeline as page content (so, no plugins).
Here comes what I called Alternative Representations. It's one or more other markdown files next to the usual one. Its use cases are:

Summaries but on steroïds
Other kind-of-similar use-cases : having different representation of the page when displayed on the home page / search results page / …
Complex content in classic or modular pages

Here's an super-simple illustration of the last use case. I need a two-columns page (or page module). Additionnally, I want to use the image-captions plugins. Here's what I get if I use a header:

Now, using the alternative representation:

Content pipeline (including plugins) processes the alternative MD file, caption is displayed.
My folder looks like this:

In my left-column template, I now use this:
{{ page.alternativeRepresentation('side-content').content | raw }}

As of now, implementation might have unexpected results in some cases (namely multi-language sites) and I may need some guidance there.

Well, we had the same idea as I've implemented one to flex already. In there you can have an unlimited number of layouts for both collections and objects.
It should already kind of work for the Flex Pages as well, just define the layouts and use the render() method. Unfortunately, as it is now, all the layouts are shared between every page type... So that part may still need some work.


BUG: Assignation issues in csr_matrix with fancy indexing

In scipy 1.3.1, setting values in a csr_matrix using fancy indexing returns ValueError: shape mismatch in assignment from  scipy.sparse._index.IndexMixin.__setitem__ method. It doesn't happen in 1.2.1.
This issue seems to come from the _broadcast_arrays method in v1.3.1/scipy/sparse/_index.py#L15 which returns 1-D array instead of 2-D array: v1.2.1/scipy/sparse/sputils.py#L467
Reproducing code example:
In scipy 1.2.1:
>>> import numpy as np
>>> from scipy.sparse import csr_matrix
>>> x = csr_matrix((np.array([1, 2, 3]), (np.array([0, 1, 1]), np.array([0, 0, 1]))), shape=(2, 2))
>>> x.toarray()
array([[1, 0],
       [2, 3]], dtype=int64)
>>> x[[0, 1], [1, 1]] = x[[1, 0], [0, 0]]
__main__:1: SparseEfficiencyWarning: Changing the sparsity structure of a csr_matrix is expensive. lil_matrix is more efficient.
>>> x.toarray()
array([[1, 2],
       [2, 1]], dtype=int64)

In scipy 1.3.1:
>>> import numpy as np
>>> from scipy.sparse import csr_matrix
>>> x = csr_matrix((np.array([1, 2, 3]), (np.array([0, 1, 1]), np.array([0, 0, 1]))), shape=(2, 2))
>>> x.toarray()
array([[1, 0],
       [2, 3]], dtype=int64)
>>> x[[0, 1], [1, 1]] = x[[1, 0], [0, 0]]

Error message:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/philippe/anaconda3/envs/venv/lib/python3.7/site-packages/scipy/sparse/_index.py", line 146, in __setitem__
    raise ValueError("shape mismatch in assignment")
ValueError: shape mismatch in assignment

Scipy/Numpy/Python version information:
1.3.1 1.16.4 sys.version_info(major=3, minor=7, micro=4, releaselevel='final', serial=0)

Simple fix that can break everything:
Add:
        if x.ndim == 1:
            # return column vectors for 1-D indexing
            x = x[None, :]
            y = y[None, :]
        elif x.ndim > 2:
            raise IndexError("Index dimension must be <= 2")

to scipy.sparse._index._broadcast_arrays method.

Tentatively labeling as a defect pending input from @perimosocordiae

Yup, this is a bug. I don't think we should touch the _broadcast_arrays function, but rather we can remove the check here:
https://github.com/scipy/scipy/blob/4bfc152f6ee1ca48c73c06e27f7ef021d729f496/scipy/sparse/_index.py#L123
The call to _broadcast_arrays(x, i) will already fail if the shapes are incompatible. I'll see about sending a PR soon.

The issue is fixed, but I think some more discussion is warranted:
Reshaping does fix the above mentioned thing, but I guess it's more liberal than what ndarray itself does. Also, what was the precise scipy.sparse behavior prior to 1.2.1 --- did it just reshape?
The ndarray rules seem to be to try to broadcast lhs and rhs to same shape,
In [14]: x = np.array([[1,2],[3,4]])
In [15]: x[[0,1],[0,1]] = np.array([3])  # ok (broadcasting size-1 case)
In [16]: x[[0,1],[0,1]] = np.array([3,1])  # ok
In [17]: x[[0,1],[0,1]] = np.array([3,1,2]) # not ok
Traceback (most recent call last):
  File "<ipython-input-17-b65148a562f7>", line 1, in <module>
    x[[0,1],[0,1]] = np.array([3,1,2])
ValueError: shape mismatch: value array of shape (3,) could not be broadcast to indexing result of shape (2,)
In [19]: x[[0,1],[0,1]] = np.array([[3],[1]]) # not ok
Traceback (most recent call last):
  File "<ipython-input-19-d8ed57d202e6>", line 1, in <module>
    x[[0,1],[0,1]] = np.array([[3],[1]])
ValueError: shape mismatch: value array of shape (2,1) could not be broadcast to indexing result of shape (2,)

Sorry, I missed the comment above about broadcast_arrays.


Inaccurate documentation re breaking the chains of available restore points

In the documentation it says that
Several frequently used actions create a new database that won't have the same restore point history as the previously used database. These actions include point-in-time restores, database refreshes, database imports, and point-in-time restores from the production environment to the sandbox environment.
I believe this is inaccurate. It seems only database point-in-time restore against its own database that creates a new database, resulting in breaking the chain of available restore points (as logically because it is new database different to the old one).
The other actions I am not sure but I certainly tested myself that after Import operation from bacpac in LCS, I can restore the database to point-in-time. It seems because the Import action retain the target database thus retain the backup history.
Please correct this documentation. I believe at least you should remove the database refreshes and database imports.
Not sure about point-in-time restore from production. If it is done by creating new database then it will lose backup history.
Thanks,
Agus Riyadi
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 805f3739-0cad-d6ab-7db0-175c972f189f
Version Independent ID: 68be2d28-d5e9-471d-8648-a8cbae2e1e7d
Content: Database point-in-time restore (PITR) - Finance & Operations | Dynamics 365
Content Source: articles/fin-ops-core/dev-itpro/database/database-point-in-time-restore.md
Service: dynamics-365-cross-app
Product: ****
Technology: ****
GitHub Login: @laneswenka
Microsoft Alias: laswenka

Bug 834373 has been logged to address this issue.

@agusriy, thank you for your feedback. We have passed this feedback onto the product team for consideration.


Implement DFS in C++

Algorithm/Data Structure: Depth-First Search (DFS)
Programming Language: C++
Difficulty: ⭐⭐⭐
Issue Details
Description:
Implement the Depth-First Search (DFS) algorithm in C++. DFS is a fundamental graph traversal algorithm that explores as far as possible along each branch before backtracking. Your implementation should correctly traverse a graph starting from a specified source vertex, and return the visited vertices in the order they were visited.
Additional Information:
If you are new to DFS or need guidance on implementing it in C++, feel free to ask questions or seek help in the comments. This is a great opportunity for contributors to gain experience in graph algorithms in C++.
Note:
Before starting to work on this issue, please comment below to express your interest and let us know if you have any questions or need clarification on the task.

Please assign me this issue.

Hey @Soyamprabha,
Assigned the issue to you, you can now start working on this.

I have sent the PR

Sir can you please review the PR and let me know if any changes are required? And if not, can it be merged?


Fix: TriangleToLine() not checking start / end point of line properly.

This PR

Fixes a bug

Describe the changes below:
Phaser.Geom.Intersects.TriangleToLine(triangle, line) method doesn't check properly if triangle contains start or end point of line.
It's passing line's point objects to Phaser.Geom.Triangle.Contains(x, y).
Method was replaced by Phaser.Geom.Triangle.ContainsPoint(point).

👍

Thinking about this, we don't need to create a Point at all. It can be just done with if (triangle.contains(line.x1, line.y1) || triangle.contains(line.x2, line.y2)).


New method: Actor:onTextSound(...)

Pretty much does what the title says. The only caveat is that the [voice] command doesn't work when the actor's :onTextSound returns true. Existing actors are unaffected.

[voice] is fixed! I think this is ready to merge now.

LGTM, thanks!


Chinese Pathology Text Domain

Hello，If I have Pathology Report in Chinese.1.Translate it 2.change word Embedding. Which you recommend？

Hi,
I would suggest the first solution. You could translate the report into English using Qwen / ChatGPT API. We have also recently planned to adapt our model to some Chinese pathology reports. We will try both ways you mentioned above. And I will update the results here once there is some progress.


Feature Request for selecting many dates and showing it stand alone, also disable certain dates

Was wondering if I could request for a feature where multiple days can be selected, where the datepicker doesnt have to open like a modal, and that you can label dates, and disable dates not wanted.
Expected behavior

Open date picker, or show a div, calendar should exist without the input, can select multiple dates, and label dates, and can also disable dates.

If you want to make it multi-selectable:
 import isSameDay from 'date-fns/isSameDay'

  export default function MultiSelectDatePicker() {
    const [selectedDays, setSelectedDays] = useState([new Date()]);

      function handleDayClick(day) {
        const isSelected = selectedDays.find(selectedDay => isSameDay(day, selectedDay));

        if (isSelected) {
          setSelectedDays(selectedDays =>
            selectedDays.filter(selectedDay =>
              !isSameDay(selectedDay, day)
            )
          )
        } else {
          setSelectedDays(selectedDays => [...selectedDays, day])
        }
      }

    function renderDay(day, selectedDate, dayInCurrentMonth, dayComponent) {
      const isSelected = selectedDays.some(selectedDay => isSameDay(selectedDay, day))
      return React.cloneElement(dayComponent, {...dayComponent.props, selected: isSelected})
    }

    return <Calendar
          autoOk
          orientation="landscape"
          variant="static"
          openTo="date"
          date={selectedDays[0]}
          onChange={handleDayClick}
          renderDay={renderDay}
        />
  }


#[component] macro should handle lifetimes correctly

We should be able to support lifetimes in the #[component] macro. For example, if someone provides
#[component]
fn MyComponent<'a, 'b>(cx: Scope, value1: &'a str, value2: &'b str) -> impl IntoView { ... }

Currently, if I try
#[component]
pub fn Modal<'a>(cx: Scope, title: &'a str) -> impl IntoView { }

I get
error[E0700]: hidden type for `impl leptos::IntoView` captures│~
 lifetime that does not appear in bounds

and it suggests
-> impl IntoView + 'a {

if I add that of course the macro tells me the return type must be impl IntoView

#272


Simplify Modes and Mode-Transition for Loggers

(If possible and feasible)

Mode transition for single checkpointer is done.


app_store: allow user to manually select an unlisted mirror

quite useful if you know someone is mirroring a package but they're not listed onchain

Addressed in #246


Please implement playlist sharing and collaboration

Hey Phanan,
I thinks playlist sharing and collaboration would be a nice feature. Can you implement this?
best greetings
PS: I love your project and codingstyle ;)

How exactly are you imagining this feature should be?

An owner of a playlist can add users to his playlist with different permissions. Example permissions:

can listen to playlist
can add songs
can add and delete songs

What do you make of it?

Not on top of my list tbh.


elasticsearch-tests: make tests ignoring min_score

we have to make the test environment ignoring the min_score. Otherwise the specs fail

seems to work now


npm warn using Ubuntu 16.04 x64

npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
try to install required peers but still failed

it works using Ubuntu 20.10 x64
thank you


After installation, every time the flutter command is entered, the message '\ bin' appears, which is not an internal or external command, nor is it a runnable program  Or batch process files

Steps to reproduce
flutter doctor
Actual results
After installing Flutter, every time you enter the Flutter command, it will appear “'\bin' 不是内部或外部命令，也不是可运行的程序
或批处理文件。”
Entering any flutter command will prompt this “'\bin' 不是内部或外部命令，也不是可运行的程序
或批处理文件。”

Logs

Logs
PS C:\Users\ZHYCH> flutter
'\bin' 不是内部或外部命令，也不是可运行的程序
或批处理文件。
Manage your Flutter app development.

Common commands:

  flutter create <output directory>
    Create a new Flutter project in the specified directory.

  flutter run [options]
    Run your Flutter application on an attached device or in an emulator.

Usage: flutter <command> [arguments]

Global options:
-h, --help                  Print this usage information.
-v, --verbose               Noisy logging, including all shell commands executed.
                            If used with "--help", shows hidden options. If used with "flutter doctor", shows additional
                            diagnostic information. (Use "-vv" to force verbose logging in those cases.)
-d, --device-id             Target device id or name (prefixes allowed).
    --version               Reports the version of this tool.
    --enable-analytics      Enable telemetry reporting each time a flutter or dart command runs.
    --disable-analytics     Disable telemetry reporting each time a flutter or dart command runs, until it is
                            re-enabled.
    --suppress-analytics    Suppress analytics reporting for the current CLI invocation.

Available commands:

Flutter SDK
  bash-completion   Output command line shell completion setup scripts.
  channel           List or switch Flutter channels.
  config            Configure Flutter settings.
  doctor            Show information about the installed tooling.
  downgrade         Downgrade Flutter to the last active version for the current channel.
  precache          Populate the Flutter tool's cache of binary artifacts.
  upgrade           Upgrade your copy of Flutter.

Project
  analyze           Analyze the project's Dart code.
  assemble          Assemble and build Flutter resources.
  build             Build an executable app or install bundle.
  clean             Delete the build/ and .dart_tool/ directories.
  create            Create a new Flutter project.
  drive             Run integration tests for the project on an attached device or emulator.
  gen-l10n          Generate localizations for the current project.
  pub               Commands for managing Flutter packages.
  run               Run your Flutter app on an attached device.
  test              Run Flutter unit tests for the current project.

Tools & Devices
  attach            Attach to a running app.
  custom-devices    List, reset, add and delete custom devices.
  devices           List all connected devices.
  emulators         List, launch and create emulators.
  install           Install a Flutter app on an attached device.
  logs              Show log output for running Flutter apps.
  screenshot        Take a screenshot from a connected device.
  symbolize         Symbolize a stack trace from an AOT-compiled Flutter app.

Run "flutter help <command>" for more information about a command.
Run "flutter help -v" for verbose help output, including less commonly used options.

Flutter Doctor output
'\bin' 不是内部或外部命令，也不是可运行的程序
或批处理文件。
Flutter assets will be downloaded from https://mirrors.tuna.tsinghua.edu.cn/flutter. Make sure you trust this source!
[!] Flutter (Channel stable, 3.24.4, on Microsoft Windows [版本 10.0.22631.4317], locale zh-CN)
• Flutter version 3.24.4 on channel stable at C:\Works\env\flutter
! The flutter binary is not on your path. Consider adding C:\Works\env\flutter\bin to your path.
! The dart binary is not on your path. Consider adding C:\Works\env\flutter\bin to your path.
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision 603104015d (6 days ago), 2024-10-24 08:01:25 -0700
• Engine revision db49896cf2
• Dart version 3.5.4
• DevTools version 2.37.3
• Pub download mirror https://mirrors.tuna.tsinghua.edu.cn/dart-pub
• Flutter download mirror https://mirrors.tuna.tsinghua.edu.cn/flutter
• If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly
to perform update checks and upgrades.
[√] Windows Version (Installed version of Windows is version 10 or higher)
[X] Android toolchain - develop for Android devices
X Unable to locate Android SDK.
Install Android Studio from: https://developer.android.com/studio/index.html
On first launch it will assist you in installing the Android SDK components.
(or visit https://flutter.dev/to/windows-android-setup for detailed instructions).
If the Android SDK has been installed to a custom location, please use
flutter config --android-sdk to update to that location.
[X] Chrome - develop for the web (Cannot find Chrome executable at .\Google\Chrome\Application\chrome.exe)
! Cannot find Chrome. Try setting CHROME_EXECUTABLE to a Chrome executable.
[X] Visual Studio - develop Windows apps
X Visual Studio not installed; this is necessary to develop Windows apps.
Download at https://visualstudio.microsoft.com/downloads/.
Please install the "Desktop development with C++" workload, including all of its default components
[√] Android Studio (version 2024.1)
• Android Studio at C:\Works\env\android\android_studio
• Flutter plugin can be installed from:
https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.11+0--11852314)
[√] VS Code (version 1.95.0)
• VS Code at C:\Users\ZHYCH\AppData\Local\Programs\Microsoft VS Code
• Flutter extension version 3.98.0
[√] Connected device (2 available)
• Windows (desktop) • windows • windows-x64    • Microsoft Windows [版本 10.0.22631.4317]
• Edge (web)        • edge    • web-javascript • Microsoft Edge 130.0.2849.56
[√] Network resources
• All expected network resources are available.
! Doctor found issues in 4 categories.

“'\bin' 不是内部或外部命令，也不是可运行的程序 或批处理文件。”

English version:

"'\bin' is not an internal or external command, operable program or batch file."

This message indicates that Flutter hasn't been added to PATH on your Windows machine or you have used a not valid path. Please check this step-by-step guideline to see if it helps.