Initial support for auto-fix in Jupyter notebooks

Summary
Add initial support for applying auto-fixes in Jupyter Notebook.
Solution
Cell offsets are the boundaries for each cell in the concatenated source code. They are represented using TextSize. It includes the start and end offset as well, thus creating a range for each cell. These offsets are updated with each individual edit like so:

Deletion: subtract the edit length
Insertion: add the new content length
Replacement: add/subtract the delta of new and old content length

The updates are done for all the boundaries following the one where the edit belongs i.e., if the edit is in cell 2 then the offsets for all cells starting from 3 are updated. This process needs to be done in reverse order i.e., edit at the end of file should be processed first, because if the edit at the start of file is processed first, then the location of the next edit is not in sync with the current cell offsets (we just updated them).
The index has been separated to it's own builder to allow us to refresh it independently to the cell offsets. The cell offsets, cell content and the index will be updated after each iteration of linting in the mentioned order. The order is important here as the content is updated as per the new offsets and index is updated as per the new content.
Limitations
1
Auto-fixes which spans across multiple cell will panic. This is because it's difficult to determine which part of the edit content belongs to which cell. This mainly includes the import sorter in the following scenario where there are 2 continuous cells with import statements:
import random
import os
# ---
import math

(The commented line break is just to visualize cell separation and is not part of the code.)
Here, the concatenated content would be:
import random
import os
import math

And the formatted output would be:
import math
import random
import os

Now, it's not possible to determine which part of the content belongs to which cell and even if we try to update it as per the line count the context will change as an import might move out from the actual cell.
Possible solutions:

We could ignore the Edit which spans across multiple cells but this creates a problem in the lint loop. Take the above code as an example where there are 2 cells containing import statements which needs to be sorted. Now, this edit will span both cells, we'll ignore this edit, in the next iteration the same edit will be created and ignored and this will go on till we reach MAX_ITERATION.
Scope rules to be either global or local to the cell -- should we apply this rule to the concatenated source code or individually to each cell?
As this problem mainly occurs in the import sorter due to the fact that the Edit is scoped to an entire import block, we could refactor the sorter to create individual edits such as move this import statement from line 4 to line 2, remove this import statement, remove this symbol from this import statement, add a symbol to this import statement, etc. We would have to think about how to represent an edit like separating each symbol on it's own line (black style).

2
Styling rules such as the ones in pycodestyle will not be applicable everywhere in Jupyter notebook, especially at the cell boundaries. Let's take an example where a rule suggests to have 2 blank lines before a function and the cells contains the following code:
import something
# ---
def first():
	pass

def second():
	pass

(Again, the comment is only to visualize cell boundaries.)
In the concatenated source code, the 2 blank lines will be added but it shouldn't actually be added when we look in terms of Jupyter notebook. It's as if the function first is at the start of a file.
nbqa solves this by recording newlines before and after running autopep8, then running the tool and restoring the newlines at the end (refer https://github.com/nbQA-dev/nbQA/pull/807).
Test Plan
Three commands were run in order with common flags (--select=ALL --no-cache --isolated) to isolate which stage the problem is occurring:

Only diagnostics
Fix with diff (--fix --diff)
Fix (--fix)

https://github.com/facebookresearch/segment-anything
-------------------------------------------------------------------------------
 Jupyter Notebooks       3            0            0            0            0
 |- Markdown             3           98            0           94            4
 |- Python               3          513          468            4           41
 (Total)                            611          468           98           45
-------------------------------------------------------------------------------

$ cargo run --all-features --bin ruff -- check --no-cache --isolated --select=ALL /path/to/segment-anything/**/*.ipynb --fix
...
Found 180 errors (89 fixed, 91 remaining).

https://github.com/openai/openai-cookbook
-------------------------------------------------------------------------------
 Jupyter Notebooks      65            0            0            0            0
 |- Markdown            64         3475           12         2507          956
 |- Python              65         9700         7362         1101         1237
 (Total)                          13175         7374         3608         2193
===============================================================================

$ cargo run --all-features --bin ruff -- check --no-cache --isolated --select=ALL /path/to/openai-cookbook/**/*.ipynb --fix
error: Failed to parse /path/to/openai-cookbook/examples/vector_databases/Using_vector_databases_for_embeddings_search.ipynb:cell 4:29:18: unexpected token '-'
...
Found 4232 errors (2171 fixed, 2061 remaining).

https://github.com/tensorflow/docs
-------------------------------------------------------------------------------
 Jupyter Notebooks     150            0            0            0            0
 |- Markdown             1           55            0           46            9
 |- Python               1          402          289           60           53
 (Total)                            457          289          106           62
-------------------------------------------------------------------------------

These repository includes some notebooks where it panics because an edit spans across multiple cells. This is due to the import statements are in 2 or more continuous cells.
$ cargo run --all-features --bin ruff -- check --no-cache --isolated --select=ALL /path/to/tensorflow-docs/**/*.ipynb --fix
error: Failed to parse /path/to/tensorflow-docs/site/en/guide/extension_type.ipynb:cell 80:1:1: unexpected token Indent
...
error: Failed to parse /path/to/tensorflow-docs/site/en/r1/tutorials/eager/custom_layers.ipynb:cell 20:1:1: unexpected token Indent
...
error: Failed to parse /path/to/tensorflow-docs/site/en/guide/data.ipynb:cell 175:5:14: unindent does not match any outer indentation level
...
error: Failed to parse /path/to/tensorflow-docs/site/en/r1/tutorials/representation/unicode.ipynb:cell 30:1:1: unexpected token Indent
...
Found 12136 errors (4842 fixed, 7294 remaining).

To-Do:

[ ] ~Revert back the auto-fixes if the linter loop panics (as is done for Python files)~
[x] Verify that the updated notebook is parseable by nbformat (only for testing purposes)
[ ] ~Add roundtrip support (this will most likely be done with the second todo)~ (different PR)
[x] Ignore cells containing magic commands (%, !, ?) on any cells (this will ignore cells which contains code as well as magic commands). ~Just for backup, ignore any cells containing syntax error~
[ ] ~Add --diff preview for Jupyter notebook~
[x] Newline at the end of each cell is removed but then Ruff will complain about missing newline at the end of file. The --fix flag will try to add the newline, but we'll remove it before updating the cell and this loop will go on.

resolves: #1218

i'd make this a source code comment

(There's no reply section for this comment, so putting it out here)
I'm not sure what do you mean by "source code comment". Do you want me to comment the reason for the trailing_newline?

would also make this a code comment

Same as above.

needs tests, otherwise it's looking good

Yes, I wanted to wait for the initial feedback incase there were some changes although I've already started writing some basic test cases.

(There's no reply section for this comment, so putting it out here)

fyi GitHub does weird things with threaded conversations — the threads are up higher at https://github.com/charliermarsh/ruff/pull/4665#discussion_r1214042114 / https://github.com/charliermarsh/ruff/pull/4665#discussion_r1214052152

Is there any integration test that shows a jupyter notebook before and after being fixed?

Currently, I've tested it out on the repositories mentioned in the PR description. I'm trying to think how to have E2E testing here as just the snapshots might not be enough. I'll run it on the ecosystem notebooks.

i was thinking about a notebook where we have before fixing and after fixing both in git and check that the fixed version looks like the one we have stored

Right, so do you mean to compare the 2 JSON objects? They both will be available in source control. I think we should rather compare the source code content as the JSON will not be identical:

The reason to choose String over StringArray is that the latter should contain the newline as part of each element which means that str.lines would not work and we would either need a custom iterator with strings including the newline character or add newlines to each element individually.
https://github.com/astral-sh/ruff/pull/4665#discussion_r1212663495

So, 2 notebooks where one is the original content and the other what we expect Ruff to transform into.

Read the notebook
Pass the source code to Ruff
Update the internal state
Read the expected notebook
Compare


ARROW-9868: [C++][R] Provide CopyFiles for copying files between FileSystems

@bkietz is this done?


Semver ie8

This updates our semver to one that supports ie8.

Confirmed that this change will fix problems with running canjs tests in ie8.

For reference, this is the tag that this change comes from:
https://github.com/bitovi/node-semver/tree/v4.3.1-bitovi.0


Crate polars-lazy fails due to memory limits.

Crate name
polars-lazy
Build failure link
https://docs.rs/crate/polars-lazy/0.37.0/builds/1104603
Additional details
Can the memory limit be increased and a re-run triggered? Thanks!

@ritchie46 we can totally increase the limit fort your crate.
Can you please test locally what your peak memory usage is?

I just checked your build-log, and the actual error is:

[INFO] [stderr] error: none of the selected packages contains these features: horizontal_concat

so it's actually not a memory limit problem.

I'm closing this issue, feel free to reopen if you still need the limit increase


When merging dependency jar files together to make a fat jar, sometimes we need to filter out files from the dependency jars or the fat jar will not work as intended. For example, signature files need to be removed or the fat jar could throw and exception:
java.lang.SecurityException: Invalid signature file digest for Manifest main attributes
I couldn't find a simple way in jakar to filter files from fat jars, but this workaround worked for my project. Basically, I open the fat jar as a zip file and delete anything I don't want.
	@Override
	protected JkJavaPacker createPacker() {
		return JkJavaPacker.builder(this)
			.doFatJar(true)
			.extraAction(new JkExtraPacking() {

				private String[] filteredExtensions = { "RSA", "DSA", "SF" };

				@Override
				public void process(JkJavaBuild build) {

					// move the fat jar to a temp file
					JkJavaPacker packer = JkJavaPacker.of(Build.this);
					File tempFile = build.ouputDir("temp.jar");
					packer.fatJarFile().renameTo(tempFile);

					// make a new fat jar with the stuff we want to keep
					try (ZipFile zipIn = new ZipFile(tempFile)) {
						try (ZipOutputStream zipOut = JkUtilsZip.createZipOutputStream(packer.fatJarFile(), Deflater.DEFAULT_COMPRESSION)) {
							Enumeration<? extends ZipEntry> entries = zipIn.entries();
							while (entries.hasMoreElements()) {
								ZipEntry entry = entries.nextElement();
								if (shouldSkip(entry)) {
									continue;
								}
								copy(zipIn, entry, zipOut);
							}
						}
					} catch (IOException ex) {
						throw new RuntimeException(ex);
					}

					// cleanup
					tempFile.delete();
				}

				private boolean shouldSkip(ZipEntry entry) {

					// skip directories
					if (entry.isDirectory()) {
						return true;
					}

					// skip things that break the jar
					for (String filteredExtension : filteredExtensions) {
						if (entry.getName().endsWith("." + filteredExtension)) {
							return true;
						}
					}

					return false;
				}

				private void copy(ZipFile zipIn, ZipEntry entry, ZipOutputStream out) {
					try {

						// start the entry
						out.putNextEntry(entry);

						// copy the data
						InputStream entryIn = zipIn.getInputStream(entry);
						final int bufSize = 2048;
						final BufferedInputStream buf = new BufferedInputStream(entryIn, bufSize);
						int count;
						final byte data[] = new byte[bufSize];
						while ((count = buf.read(data, 0, bufSize)) != -1) {
							out.write(data, 0, count);
						}
						buf.close();
						entryIn.close();

						// finish the entry
						out.closeEntry();

					} catch (final IOException e) {
						throw new RuntimeException(e);
					}
				}
			})
			.build();
	}

Maybe there could be a way to simplify the build process to make this kind of thing easier to do in the future?
Thanks for making such a great build system btw. I really like it so far. =)

Adding a JkJavaPacker.Builder#fatJarFilter(JKPathFilter) method seems cleanest  solution.
@cuchaz Does it match your expectation ?

Ideally, the best way to do this is to filter out unwanted files while jerkar is merging each jar file. If fatJarFilter() does that, then great. But removing the unwanted files by re-creating the entire far jar (like my workaround does) works too.

Indeed, filering at merging time is better.
Also I think excluding META-INF/.SF, META-INF/.DSA, META-INF/*.RSA for fat jar by default makes sense.

Now, these 3 patterns has been filtered out from the fat jar by default.

I think the filtering is not working for merged jars?
A quick scan of the source shows the zip merger doesn't use the filter?

I'm reopening this issue to make sure it's not forgotten. I think the issue is not quite fixed yet. See above comment.

Added filtering on merged jars. Can you confirm that's ok for you now ?

Yup! Works great. =)


Fixes a bug in isReturning helper in TFPartition

Resolves SR-8506.

@swift-ci please test tensorflow


fix: endswith accepts tuples or string, not list

When running from the source I was getting the following error:
$ PYTHONPATH=./src python -m doctor.cli mgd

Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "/Users/adn/dev/timescale/doctor/src/doctor/cli.py", line 56, in <module>
    main()
  File "/Users/adn/dev/timescale/doctor/src/doctor/cli.py", line 50, in main
    load_rules()
  File "/Users/adn/dev/timescale/doctor/src/doctor/rules/__init__.py", line 39, in load_rules
    modules = [basename(f)[:-3] for f in pyfiles if is_rule_file(f)]
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/adn/dev/timescale/doctor/src/doctor/rules/__init__.py", line 39, in <listcomp>
    modules = [basename(f)[:-3] for f in pyfiles if is_rule_file(f)]
                                                    ^^^^^^^^^^^^^^^
  File "/Users/adn/dev/timescale/doctor/src/doctor/rules/__init__.py", line 31, in is_rule_file
    if fname.endswith(['__init__.py', '_test.py']) or fname.startswith("test_"):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: endswith first arg must be str or a tuple of str, not list

I added:
if __name__ == "__main__":
    main()

To cli.py to run it with PYTHONPATH=./src python -m doctor.cli mgd

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

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


Question related to HA setup

Hi,
I have a question related to dyno queues. We are trying to setup a Conductor platform with the following :
ES => shared index
Dynomite : 2 rack of one node each (RF2, no sharding)
Conductor : 2 servers
Everything is in-house.
In order to set all this up we defined 2 Dynomite racks us-east-1a/1b. Due to this, the queues are sharded according to these AZ. The issue I'm facing is the following :
Conductor server 1 is configured for AZ 1a thus it consumes the "a" queue shard, the second server is configured for AZ 1b and consumes the b queue shard.
We used 2 Conductor servers for resiliency in the first place, but since each of them is consuming only one shard of the queues, if one of them is in failure, the failover will happen on the Dynomite rack but not on the queue shard since it is determined by the EC2_AVAILABILITY_ZONE.
Did I understood the situation properly ? Is there any solution that would not involve to have 2 Conductor server / AZ in order to obtain resiliency ?
Thanks

This is correct, polling from the queues is constrained by the EC2_AVAILABILITY_ZONE. This is a limitation enforced by dyno-queues.
@smukil / @rsrinivasanNetflix Can you please chime in to suggest any workarounds for this?

Yes, this is correct. The assumption would be that the shard will get consumed when the second instance comes back up in zone b. We currently keep the shards having access from the local zone only since that way the different zones can pop messages without the need for locking. @smukil has added a unsafe pop api in the latest dyno-queeues but I do not think conductor makes use of that since it removes the guarantee that the messages will not be duplicated.

Thanks for your feedbacks.


Fields tab in Text File Output transform (UI Bug) #4436

seems this was the cause:
    lsResize =
        event -> {
          Point size = shell.getSize();
          wFields.setSize(size.x - 10, size.y - 50);
          wFields.table.setSize(size.x - 10, size.y - 50);
          wFields.redraw();
        };
    shell.addListener(SWT.Resize, lsResize);

@nadment , could you test this on windows and then feel free to merge.

@hansva it's possible  you talk about an other issues #4441 ?

No I am not, this listener was hidden in the text file output
https://github.com/apache/hop/pull/4438/files#diff-c785c5464a0ac8645599379fb00b7b50cb788534af69e146f2bcf4e566626154L1251-L1259

Work fine on Windows OS.
Good point, I hadn't seen this resize part of the code.
The setButtonPositions method also posed a problem because it works with the shell and not with a composite parent.


Feature/email attachments

EmailExtractor now also processes every attached file (image or PDF) in the .eml, adding them as an extra Page in the Document and then executing the cleaning pipeline on the full Document

@marianorodriguez could you please fix conflicts ??

@jvalls-axa done!


slack_deploy_user deprecated ?

A recent commit seems to indicate that the parameter slack_deploy_useris now deprecated. Is this correct? Then this code which was previously recommended to set custom fields probably no longer works as well, what would be the right format?
set :slack_fields_updated,
   [
     {
       title: "Project",
       value: "<https://github.com/XXXXX/#{fetch(:application)}|#{fetch(:application)}>",
       short: true
     },
     {
       title: "Environment",
       value: fetch(:stage),
       short: true
     },
     {
       title: "Deployer",
       value: fetch(:slack_deploy_user),
       short: true
     },
     {
       title: "Revision",
       value: "<https://github.com/XXXXX/#{fetch(:application)}/commit/#{fetch(:slack_revision)}|#{fetch(:slack_revision)[0..6]}>",
       short: true
     }
   ]

You'll want to modify what you've got into the new way documented here: https://github.com/phallstrom/slackistrano#customizing-the-messaging
You can start with the DeprecatedMessaging class if you want to build from that, but might be easier to just start over.  Note this requires the new version of the gem.


Forces on a multibody

When using force_generator::ConstantAcceleration on a object::Multibody, the velocity of the body is not impacted.   The object::MultibodyLink::external_forces looks fine.  In  object::Multibody::update_dynamics(), any existing external_force does not seem to be included when calculating the acceleration (accs.gemv_tr).
At the start of the last loop in object::Multibody::update_dynamics() ,you have:
let mut external_forces;
I changed this to:
let mut external_forces = self.rbs[i].external_forces;
and at the end of the loop, rather that += I use:
self.rbs[i].external_forces = external_forces;
With these changes, i seems to work as expected.  Am I missing something?
Many thanks

Your proposed changes do make sense. We should also modify external_forces = Force::new(gravity_force, -gyroscopic) - rb.inertia * acc; to use a += instead of just =.
Do you which to open a PR?

This has been fixed on nphysics v0.10.


1.20.1无法正常关闭服务器

当我输入stop后服务器会输出以下结果然后卡住无法继续关闭服务器，这回导致MCDR的一些插件无法正常使用。
> stop

[Server] [00:08:13] [Server thread/INFO]: Stopping the server

[Server] [00:08:13] [Server thread/INFO]: Stopping server

[Server] [00:08:13] [Server thread/INFO]: Saving players

[Server] [00:08:13] [Server thread/INFO]: Saving worlds

[Server] [00:08:14] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:overworld

[Server] [00:08:16] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_nether

[Server] [00:08:16] [Server thread/INFO]: Saving chunks for level 'ServerLevel[world]'/minecraft:the_end

[Server] [00:08:16] [Server thread/INFO]: ThreadedAnvilChunkStorage (world): All chunks are saved

[Server] [00:08:16] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM-1): All chunks are saved

[Server] [00:08:16] [Server thread/INFO]: ThreadedAnvilChunkStorage (DIM1): All chunks are saved

[Server] [00:08:16] [Server thread/INFO]: ThreadedAnvilChunkStorage: All dimensions are saved

[Server] [00:08:16] [Server thread/INFO]: Thread Query Listener stopped

>

对于这个我把你的1.20的代码和之前1.18的代码做了融合，目前已经修复了但不够优雅
http://www.zhenai.work:3000/zhenai/DT.git


paraiso* styles throw an error when trying to use them

(Original issue 1476 created by thomaswaldmann on 2018-09-18T18:42:34.257647+00:00)
pygments 2.2.0 via pip.
#!shell

$ . genstyles.sh
Could not find style class 'Paraiso_DarkStyle' in style module.
Could not find style class 'Paraiso_LightStyle' in style module.

genstyles.sh:

for S in abap ... xcode ; do
    pygmentize -f html -S $S > xstatic/pkg/pygments/data/css/$S.css
done

So it seems there is a problem with the class name.

Works for me with style name paraiso-dark, not paraiso_dark.


chore: Update comments.

Please provide a paragraph or two giving a summary of the change, including relevant motivation and context.
Checklist:
Remove the checklist to signal you've completed it. Enable auto-merge if the PR is ready to merge.

[ ] If the pull request requires a cryptography review (e.g. cryptographic algorithm implementations) I have added the 'crypto' tag.
[ ] I have reviewed my diff in github, line by line and removed unexpected formatting changes, testing logs, or commented-out code.
[ ] Every change is related to the PR description.
[ ] I have linked this pull request to relevant issues (if any exist).

Benchmark results
Metrics with a significant change:

note_trial_decrypting_time_in_ms (8): 95.9 (+1358%)
note_trial_decrypting_time_in_ms (32): 76.2 (+671%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 3ba89cf6 and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
222,780
867,884
3,449,432

l1_rollup_execution_gas
841,867
3,594,992
22,204,801

l2_block_processing_time_in_ms
1,994 (-1%)
7,664 (+1%)
29,919 (-1%)

note_successful_decrypting_time_in_ms
294 (-3%)
868 (-4%)
3,175 (-3%)

note_trial_decrypting_time_in_ms
:warning: 95.9 (+1358%)
:warning: 76.2 (+671%)
131 (-2%)

l2_block_building_time_in_ms
13,291 (-1%)
52,412 (-1%)
209,366 (-1%)

l2_block_rollup_simulation_time_in_ms
11,927 (-1%)
47,108 (-1%)
188,327 (-1%)

l2_block_public_tx_process_time_in_ms
1,320 (-1%)
5,169 (-2%)
20,551 (-2%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
21,923 (+1%)
42,227

note_history_successful_decrypting_time_in_ms
2,024
3,943 (+1%)

note_history_trial_decrypting_time_in_ms
120
145

node_database_size_in_bytes
1,629,911
1,097,125

pxe_database_size_in_bytes
29,748
59,307

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
761
61,697
18,905

private-kernel-ordering
125
24,297
8,153

base-rollup
1,762
656,311
814

root-rollup
172 (-2%)
4,072
1,097

private-kernel-inner
787
81,568
18,905

public-kernel-private-input
40.9 (-1%)
41,519
18,841

public-kernel-non-first-iteration
25.6 (-1%)
41,497
18,841

merge-rollup
15.2 (-1%)
2,592
873

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
8,787
27,547


unable to display the button

Hello, great new idea to navigate faster on jellyfin. At the moment I can't get the button to appear, any ideas? Thanks

Same problem! +1

Hey guys, I am sorry that you have an issue with the program.
Currently i don't really have the capacity to work at the project right now.
I will try to get some stuff done next week.
It would be nice if you guys could share a little bit more information to track down the problem.
For example, which client are you using, JMP Client or Web version?
If you are using the Web version, could you open up the Browser Console and check if there are any lines that start with [InPlayerEpisodePreview], or any errors (marked red).
In which version of the program did the error occur (V<IP_ADDRESS> or V<IP_ADDRESS>).
Does the bug also happen on the previews version?
Are you using the Intro Skipper plugin by any chance?

Hey, thanks for the reply.
I'm using the web interface but I'm currently not home for another week,
I'll send you the logs then.
I'm using the latest version of IPEP, <IP_ADDRESS>, and yes, I'm using the Intro
Skipper plugin.
Le ven. 15 mars 2024, 17:12, Namo @.***> a écrit :

Hey guys, I am sorry that you have an issue with the program.
Currently i don't really have the capacity to work at the project right
now.
I will try to get some stuff done next week.
It would be nice if you guys could share a little bit more information to
track down the problem.
For example, which client are you using, JMP Client or Web version?
If you are using the Web version, could you open up the Browser Console
and check if there are any lines that start with [InPlayerEpisodePreview],
or any errors (marked red).
In which version of the program did the error occur (V<IP_ADDRESS> or V<IP_ADDRESS>).
Does the bug also happen on the previews version?
Are you using the Intro Skipper plugin by any chance?
—
Reply to this email directly, view it on GitHub
https://github.com/Namo2/InPlayerEpisodePreview/issues/10#issuecomment-2000614124,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/APVM75N5SDV3GHNOF7XKHNLYYN57VAVCNFSM6AAAAABEJS2AFKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDAMBQGYYTIMJSGQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Same here. No button on the web player

Hey, thanks for the reply. I'm using the web interface but I'm currently not home for another week, I'll send you the logs then. I'm using the latest version of IPEP, <IP_ADDRESS>, and yes, I'm using the Intro Skipper plugin.

Same as him and also I'm seeing that the plugin is still stuck on version <IP_ADDRESS> in extensions tabs but won't download the <IP_ADDRESS> and also by forcing it and doing it manually it's still marked as <IP_ADDRESS>

Hey guys,
I made some changes for the new Jellyfin version.
Would be nice if you guys could give me an update on the appearnce of the button for the new version.
If you are still unable to see the button please check inside the browser console if you can see some messages with the prefix [InPlayerEpisodePreview]

after testing the new update on 10.9 on docker, i finally see the the boutton and the console logs of docker show me this

but nothing in the chrome 124 console logs

Ha that is weird that you don't have anything in the chrome logs.
Well glad it works for you now 👍

No luck for me. Chrome still doesn't show logs or button on the latest 10.9

Does it show anything for you in the jellyfin/docker logs?

I am not on docker. It's windows installation

You can check your log files in jellyfin under Home -> Dashboard -> Logs
Have a look if anything comes up if you search for Loaded assembly "Namo.Plugin.InPlayerEpisodePreview, Version=<IP_ADDRESS>

Damn here I see the issue
Namo.Plugin.InPlayerEpisodePreview.InPlayerEpisodePreviewPlugin: Attempting to inject preview script code in "C:\Program Files\Jellyfin\Server\jellyfin-web\index.html"
[2024-05-13 00:19:08.336 +05:30] [ERR] [104] Namo.Plugin.InPlayerEpisodePreview.InPlayerEpisodePreviewPlugin: Encountered exception while writing to "C:\Program Files\Jellyfin\Server\jellyfin-web\index.html": "System.UnauthorizedAccessException: Access to the path 'C:\Program Files\Jellyfin\Server\jellyfin-web\index.html' is denied.

Here as well
2024-05-13 00:42:49.440 +05:30] [INF] [1] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly "Namo.Plugin.InPlayerEpisodePreview, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\InPlayerEpisodePreview_<IP_ADDRESS>\Namo.Plugin.InPlayerEpisodePreview.dll

Okay yeah seems like the script doesn't have the right permissions.
What you could try to do is editing the index.html yourself.
Check your jellyfin installation for the file.
Inside the file look for a section where <script  tags are (near the bottom of the file) and add the following line:
<script plugin="InPlayerEpisodePreview" version="<IP_ADDRESS>" src="/InPlayerPreview/ClientScript"></script>
If that doesn't work you may have to find a solution for the write permissions to the file on your system.
I don't think i can change anything about that on the plugin side

[2024-05-14 22:45:48.931 +05:30] [INF] [24] Emby.Server.Implementations.Plugins.PluginManager: Loaded assembly "Namo.Plugin.InPlayerEpisodePreview, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=null" from "C:\ProgramData\Jellyfin\Server\plugins\InPlayerEpisodePreview_<IP_ADDRESS>\Namo.Plugin.InPlayerEpisodePreview.dll"
Did as suggested. Even disabled the custom css, thinking it might be creating issues. No help

Have you checked again if you see anything in the chrome logs (Press F12 -> Go to console, and then start an episode)

If you are using the Web version, could you open up the Browser Console and check if there are any lines that start with [InPlayerEpisodePreview], or any errors (marked red).

Have you checked again if you see anything in the chrome logs (Press F12 -> Go to console, and then start an episode)

If you are using the Web version, could you open up the Browser Console and check if there are any lines that start with [InPlayerEpisodePreview], or any errors (marked red).

Then search with Ctrl+F for /InPlayerPreview/ClientScript.
In theory you should finde the line you added to your index.html

So normally that line should download the scriptfile from the plugin.
Next thing you could try would be:

uninstall the plugin (just to be sure)
download the web-client-script
copy the js file inside into the folder where your index.html is
replace the old script line from the plugin with this one:

<script plugin="InPlayerEpisodePreview" version="<IP_ADDRESS>" src="web-client-script.js"></script>

If that isn't working try this line:
<script src="web-client-script.js"></script>

Remember to restart your jellyfin server in between

my page source. Trying the second step

I guess mine is an isolated issue. Tried both lines, after uninstalling and multiple restarts. Could'nt get it to show up.

@Namo2 finally got an error log in the console, hoping this can be a help. BTW the plugin works awesome in the JMP

Quickly patched this up.
The dll is the complete plugin. You would need to go in your jellyfin folder then to plugins and open "InPlayerEpisodePreview_<IP_ADDRESS>". Just replace the dll inside there with the one from the zip.
If that works hit me up. I would make the changes public then
inPlayerEpisodePreview-<IP_ADDRESS>-beta-server.zip

Works as intended now 🔥

Just a query. Even though on your suggestion, I am using JMP, but some of my users use phone to watch my library. Is changing episode from the prompt on web (since the Android app is a web wrapper) totally not possible and is a code limitation, out just currently not implemented?

I will check how hard it would be to implement but my main focus for the future will be to get this feature/plugin into the official jellyfin version

I will check how hard it would be to implement but my main focus for the future will be to get this feature/plugin into the official jellyfin version

Does something to combine this PR and your plugin would be possibly cause to button for something similar would really make the UI messy and too much I think.

I will check how hard it would be to implement but my main focus for the future will be to get this feature/plugin into the official jellyfin version

Does something to combine this PR and your plugin would be possibly cause to button for something similar would really make the UI messy and too much I think.
jellyfin/jellyfin-web#5011

Thanks for mentioning it.
The plan is to open a discussion for this feature anyway but before i want to rewrite the core of it, so it would be ready for merging. Changes for the UI etc can be discussed then

Okay yeah seems like the script doesn't have the right permissions. What you could try to do is editing the index.html yourself.
Check your jellyfin installation for the file. Inside the file look for a section where <script  tags are (near the bottom of the file) and add the following line: <script plugin="InPlayerEpisodePreview" version="<IP_ADDRESS>" src="/InPlayerPreview/ClientScript"></script>
If that doesn't work you may have to find a solution for the write permissions to the file on your system. I don't think i can change anything about that on the plugin side

Changing the write permisions of Jellyfin\Server\jellyfin-web worked for me. I granted read and write access to the group Users (<DOMAIN>\Users) and restarted the server. After that, I could see the button.

Just a query. Even though on your suggestion, I am using JMP, but some of my users use phone to watch my library. Is changing episode from the prompt on web (since the Android app is a web wrapper) totally not possible and is a code limitation, out just currently not implemented?

Just checked something on android and i saw that the plugin also works there for me (even the episode switching)

Followed this ticket and now it works in Browser but not in JMP... Weird, maybe it just needs time to update?

You need to restart JMP for it to take effect

Hey ye,
do I understand this correctly, the only way this plugin works is by manipulating the index.html of Jellyfin?
I'm hosting Jellyfin via Docker in the most common setup, i.e. with individual UID/GID.
In this setup, manipulating the file won't be allowed for the user running Jellyfin with the container's default file permissions.
I think this a reasonable security feature and I'd rather not change the permissions of files inside a readily provided container.
There is no configurable list of scripts that the Jellyfin frontend loads etc. or other means to inject this button?

Same here, Jellyfin-web is installed from Gentoo ebuild (package) and I don’t wish to have to remember to modify the file for each update.

so I have same issue I use latest version of jellyfin and I cant see that preview button in player (web)/desktop

so I have same issue I use latest version of jellyfin and I cant see that preview button in player (web)/desktop I tried the web client script one and I get
InPlayerPreview.ts:48 Uncaught TypeError: Cannot read properties of undefined (reading 'route')
    at HTMLDocument.viewShowEventHandler (InPlayerPreview.ts:48:55)
    at d (main.jellyfin.bundle…2574bf99cf:2:209554)
    at main.jellyfin.bundle…2574bf99cf:2:211028

Hey, the error message looks like you would use Jellyfin 10.10.0 (from the unstable) release.
If so, you need to wait for the official 10.10.0 release which is tomorrow as far as i know

I do! and alright thank you for the reply

Just heard that the official 10.10 release is delayed by ~2 weeks.
I will add a pre-release sometime this day, which could be manually installed

I do! and alright thank you for the reply

Just heard that the official 10.10 release is delayed by ~2 weeks. I will add a pre-release sometime this day, which could be manually installed

oh! thank you for the tip and yes it would be good. so it works on day one when it get released

I do! and alright thank you for the reply

Just heard that the official 10.10 release is delayed by ~2 weeks. I will add a pre-release sometime this day, which could be manually installed

oh! thank you for the tip and yes it would be good. so it works on day one when it get released

I don't think I can get it to work directly on release.
I need to add my github release to the manifest.json you guys are using
and if I do that beforehand, it will automatically update for everyone, even if they're still on 10.9.
So I guess I'll have to do it manually first, but it's usually done the same day.

I do! and alright thank you for the reply

Just heard that the official 10.10 release is delayed by ~2 weeks. I will add a pre-release sometime this day, which could be manually installed

oh! thank you for the tip and yes it would be good. so it works on day one when it get released

I don't think I can get it to work directly on release. I need to add my github release to the manifest.json you guys are using and if I do that beforehand, it will automatically update for everyone, even if they're still on 10.9. So I guess I'll have to do it manually first, but it's usually done the same day.

I think you can specific version for each one if I'm not mistake but yeah i can do the manual way no issue

I think you can set* specific version for each one if I'm not mistake but yeah i can do the manual way no issue

Oh yeah i think you are right. I never worked with these but maybe i will try it out

I think you can set* specific version for each one if I'm not mistake but yeah i can do the manual way no issue

Oh yeah i think you are right. I never worked with these but maybe i will try it out

here are other manifests i saw, https://raw.githubusercontent.com/ThePornDatabase/Jellyfin.Plugin.ThePornDB/main/manifest.json and https://raw.githubusercontent.com/Felitendo/jellyfin-lyrics-plugin/master/manifest.json and https://raw.githubusercontent.com/intro-skipper/intro-skipper/master/manifest.json so with help of chatgpt and me being patient zero im sure you can manage it so gl!
worst case, host new manifest on different url till it get officially released?

Plugin is working on the browser but not on JMP, from the logs I see this error:
[ERR] [33] Namo.Plugin.InPlayerEpisodePreview.Api.InPlayerPreviewController: InPlayerEpisodePreviewPlugin: "Namo.Plugin.InPlayerEpisodePreview.Web.InPlayerPreview.js"
I already modified my nativeshell.js as instructed in the readme, it used to work fine but not anymore, any ideas?

Hey, the way of modifing something for JMP is deprecated.
JMP is using the frontend from the server now.
If you can't see the button. Check if you have the newest version of JMP 1.11.1 and this plugin

Even though the button is displayed and working on the web browser, I can see an error on the console:

The amount of time this plugin takes to troubleshoot with every jellyfin update is not worth it for me anymore, all other plugins just migrate smoothly with every jellyfin update except this one, nothing have changed from the last time this plugin was working except for the jellyfin version.

Hi, I am having this issue too.
The button appears on the web client (although it still generates this error: [InPlayerEpisodePreview] Couldn't save items from response) but does not appear on the media player, I see that the method for the media player depreciated so shouldn't it appear on the media player if it appears on the web client?
I am on windows and have the latest version of the server, media player and this plugin

I see that the method for the media player depreciated so shouldn't it appear on the media player if it appears on the web client?

yeah that is how it should be. I don't know yet why it happens.
The only thing, that you have to do is restarting the media player after installing the update.
What could also be important is that the media player connects to your server on startup.
If you ever used the old version for JMP removing the changes you made back in the days or better, reinstall the player.
Just for information, are you on Windows 10, 11?
Maybe the version could also be important (e.g. 23H2 or 24H2) for windows 11

although it still generates this error: [InPlayerEpisodePreview] Couldn't save items from response

before i forget, this error is normal on first initialization (loading/reloading the webpage, starting JMP)
It has to do with the new fetching of data in 10.10.x
When i have time again, i will think about a rework for more stability.
(if i don't work on a native integration)


DllNotFoundException: Unable to load DLL 'StandaloneFileBrowser', MacBook Air, M1, Sonoma 14

MacBook Air, M1, Sonoma 14
DllNotFoundException: Unable to load DLL 'StandaloneFileBrowser'. Tried the load the following dynamic libraries: Unable to load dynamic library 'StandaloneFileBrowser' because of 'Failed to open the requested dynamic library (0x06000000) dlerror() = dlopen(StandaloneFileBrowser, 0x0005): tried: '/Users/username/Library/Developer/Xcode/DerivedData/XCode-cxvyqunnacmacaehpfacmluyjyqa/Build/Products/Release/StandaloneFileBrowser' (no such file), '/usr/lib/system/introspection/StandaloneFileBrowser' (no such file, not in dyld cache), 'StandaloneFileBrowser' (no such file), '/System/Volumes/Preboot/Cryptexes/OSStandaloneFileBrowser' (no such file), '/Users/username/Library/Developer/Xcode/DerivedData/XCode-cxvyqunnacmacaehpfacmluyjyqa/Build/Products/Release/StandaloneFileBrowser.app/Contents/MacOS/Frameworks/StandaloneFileBrowser' (no such file), '/usr/lib/StandaloneFileBrowser' (no such file, not in dyld cache), 'StandaloneFileBrowser' (no such file)
at SFB.StandaloneFileBrowserMac.OpenFilePanel (System.String title, System.String directory, SFB.ExtensionFilter[] extensions, System.Boolean multiselect) [0x0000b] in /Users/username/Developer/StandaloneFileBrowser/UnityStandaloneFileBrowser/Assets/StandaloneFileBrowser/StandaloneFileBrowserMac.cs:44
at SFB.StandaloneFileBrowser.OpenFilePanel (System.String title, System.String directory, SFB.ExtensionFilter[] extensions, System.Boolean multiselect) [0x0000a] in /Users/username/Developer/StandaloneFileBrowser/UnityStandaloneFileBrowser/Assets/StandaloneFileBrowser/StandaloneFileBrowser.cs:51
at SFB.StandaloneFileBrowser.OpenFilePanel (System.String title, System.String directory, System.String extension, System.Boolean multiselect) [0x00032] in /Users/username/Developer/StandaloneFileBrowser/UnityStandaloneFileBrowser/Assets/StandaloneFileBrowser/StandaloneFileBrowser.cs:39
at BasicSample.OnGUI () [0x0008c] in /Users/username/Developer/StandaloneFileBrowser/UnityStandaloneFileBrowser/Assets/StandaloneFileBrowser/Sample/BasicSample.cs:20

I'm getting the same issue except when using a Linux build in Ubuntu 24.04. I tested it days before in an older version of Ubuntu without issue.

I just fixed my problem with this
https://github.com/gkngkc/UnityStandaloneFileBrowser/issues/138#issuecomment-1961364146

The same problem on MacOS M1/M2.
Looks like the StandaloneFileBrowser.dll is compiled only for x64 architecture.
@gkngkc Could you please compile it for others CPU architecture? Especially Apple Silicon is really needed.

The same problem on MacOS M1/M2. Looks like the StandaloneFileBrowser.dll is compiled only for x64 architecture. @gkngkc Could you please compile it for others CPU architecture? Especially Apple Silicon is really needed.

Yes please extremely needed the compiled plugins for Apple Silicons.. :\


Fix  gui wallet balance not updating

A new build of 1b170078f41e7db5029f8d6e6a12bdb006bbd189 has completed succesfully!
Binaries available at https://build.nav.community/binaries/fix-bug-with-wallet-gui-balance-not-updating


Update package.json to include the repository

Hi there!
This change adds the repository property to your package.json file(s). Having this available provides a number of benefits to security tooling. For example, it allows for greater trust by checking for signed commits, contributors to a release and validating history with the project. It also allows for comparison between the source code and the published artifact in order to detect attacks on authors during the publication process.
We validate that we're making a PR against the correct repository by comparing the metadata for the published artifact on npmjs.com against the metadata in the package.json file in the repository.
This change is provided by a team at Microsoft -- we're happy to answer any questions you may have. (Members of this team include @s-tuli, @iarna, @rancyr, @Jaydon Peng, @Zhongpeng Zhou and @Jingying Gu). If you would prefer that we not make these sorts of PRs to projects you maintain, please just say. If you'd like to learn more about what we're doing here, we've prepared a document talking about both this project and some of our other activities around supply chain security here: microsoft/Secure-Supply-Chain
This PR provides repository metadata for the following packages:

@styled-system/variant
@styled-system/theme-get
@styled-system/space
@styled-system/should-forward-prop
@styled-system/shadow
@styled-system/prop-types
@styled-system/props
@styled-system/grid
@styled-system/core
@styled-system/color

Is there anything that is needed to land this pull request ?

ls there anything else I can do to land this pull request?


Add files via upload

https://k12.com

@Jimbolol123 I am sorry, JetBrains can not grant free licenses in bulk to 1 million students at once. This kind of virtual school is too large to control effectively who studies there and for how long. I have to close this request without merging.


[Fix #11792] Fix an error for Lint/DuplicateMatchPattern

Fixes #11792.
This PR fixes an error for Lint/DuplicateMatchPattern when using hash pattern with if guard.

Before submitting the PR make sure the following are checked:

[x] The PR relates to only one subject with a clear title and description in grammatically correct, complete sentences.
[x] Wrote good commit messages.
[x] Commit message starts with [Fix #issue-number] (if the related issue exists).
[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[x] Added tests.
[x] Ran bundle exec rake default. It executes all tests and runs RuboCop on its own code.
[x] Added an entry (file) to the changelog folder named {change_type}_{change_description}.md if the new code introduces user-observable changes. See changelog entry format for details.

Thanks!

Thank you! 👍


Completion strategy sometimes shows incorrect suggestion

Typing ls "/" results in a suggestion of ls "/"ls "/bin".
The issue seems to be that pressing tab after a quoted string moves your cursor to the end of the string in the quote and fetches completions there.
Need to figure out a way to prevent complete-word in the pty from ever modifying the buffer left of where the cursor is when the completion widget is invoked.

Not sure if this would be related.
Works fine with proper capitalization

Without proper capitalization, proper suggestion but displays the entire suggestion and what you have already written.

CASE_SENSITIVE is blank for me

There's so many ways this can go wrong, I'm probably just going to add some code to _zsh_autosuggest_fetch_suggestion() to drop suggestions that don't match the prefix exactly.


Add EC_FLAG_EXT_PKEY to optionally disable checking private key against certificate

RSA_METHOD_FLAG_NO_CHECK permits a private key to be loaded without being checked against the certificate. This PR adds the same functionality for EC keys as well. Based off of PR #2273
CLA: trivial

cc @tmshort

Updated the check to ensure OPENSSL_NO_RSA / OPENSSL_NO_EC guards are honored

@mattcaswell Apologies for the delay; I completely missed your review for some reason. Suggested changes have been applied. Re CLA - I'm happy to sign the CLA if this doesn't qualify as 'trivial', which it might not considering the discussion.
petrovr: As I mentioned above, there's a clear use-case for maintaining private keys separately from public keys in the TLS domain, which is why the RSA no-check method exists. This patch merely adds the same functionality to EC certs/keys. Note that implementing a custom EC_KEY_METHOD alone is not sufficient.

@tmshort That's quite interesting, thank you for pointing it out.
So if I wanted an external privatekey for SSL, I'd have to use ENGINE_set_default_RSA, ENGINE_set_default_ECDSA etc and enforce the check in the engine? Would there be a way to avoid using engines?
Looking at the code, I could duplicate the public key external in my application, set some custom RSA_methods on it, and load it as the "privatekey" using SSL_CTX_set_cert_and_pkey and it should still have the same affect as this PR?

The intent of PR #1130 was two fold:

Make it easier to set a key and certificate (since order can matter)
Allow private keys to be stored in ENGINES (as you point out), with only the public key available to the application.

You would actually not need to duplicate your public key (although you could), the API handles that if NULL is set as the key. Yes, adding "custom key" as info for the engine to permit lookup (which I assume you mean something like EX_DATA, but the public key values could be used for look up, too).

@tmshort I meant that, I'd just dup the public EVP_PKEY, set a custom set of RSA_methods or EC_KEY_methods on it which handle dealing with the external privatekey, and set that as the "privatekey" using your API. From the code it looks like it should work, but I will test and report here.

Again, you don't need to dup the public EVP_PKEY, the API will extract it from the certificate! So, it's even easier!

@tmshort Thanks, I verified that SSL_CTX_use_cert_and_key does effectively what I want, so I'll close this out.
To be clear - I suggested setting a duped public EVP_PKEY so that I can set custom methods on it. This allows me to maintain the private key outside the application without needing engines, at a per-RSA/EC_KEY granularity.


Conditions cleanup

Patch introduces some octavia specific condition types and fixes some missing ready status updates in the umbrella controller.

/retest-required


feat: add env variable to disable color output

Simply adding an env variable to disable the colors in output, as it can be an issue with some terminal themes (in my case using Kitty): https://github.com/igrek51/wat/issues/18#issuecomment-2255466450

@thiswillbeyourgithub  Thanks for your contribution.
I've merged it as part of https://github.com/igrek51/wat/pull/23 - this adds WAT_COLOR env var which might be set to either true or false (or default empty)


Enable email subscription on ESIF finder

This activates email subscriptions, and links them to the content_id of the three organisations related to  ESIF:

Department for Environment, Food and Rural Affairs
Department for Business, Innovation and Skills
Department for Communities and Local Government

Deploy will require running rake publishing_api:publish_finders to publish finders to publishing-api.
cc @boffbowsh

Is this line missing? https://github.com/alphagov/specialist-publisher/pull/407/files#diff-71c144586d8931afc1a189b15c7af1a4R9

@boffbowsh : no, that's the old way to do it! So February 2015.
See current version of cma-cases finder: https://github.com/alphagov/specialist-publisher/blob/master/finders/metadata/cma-cases.json


temp commit

William can you give me a hint?
If I pass in createStyleSet on the index.html, depending on which bundle is being used the Adaptive Cards styles is properly available. I have no idea how to indicate in Composer.js which createStyleSet method to use, since I don't know how to check which bundle is provided.
Could you give me a hint?

Think about you are the developer. How are you going to call createStyleSet?
You probably call it by 2 ways:

CDN: window.WebChat.createStyleSet
NPM: import { createStyleSet } from 'botframework-webchat'

In the bundle, you will need to enrich the createStyleSet if it is going thru full bundle, i.e. index.ts. If it is going thru index-minimal.ts, you should just keep it untouched.
While working towards this direction, always keep in mind that, botframework-webchat-component do not know anything about Adaptive Cards at all. Only bundle know about Adaptive Cards.
That means, createStyleSetWithAdaptiveCards (or kinda), should not be known by Composer or anyone inside botframework-webchat-component.


feat: better fallback method support [APE-1008]

What I did
Allow directly calling an address.

[x] Requires ethpm-types to get released, doing that now

Fixes: APE-1006
How I did it
Now, you can call addresses directly (aka invoke fallback methods and stuff like that) via:
contract(sender=me, data=b"yo")

How to verify it
call a fallback method in a contract like i did above
Checklist

[ ] All changes are completed
[ ] New test cases have been added
[ ] Documentation has been updated

@fubuloubu GM
so i think if there is no fallback and no receive,  we should still let the user try to call the contact.
mainly, this will help coverage with ensuring the bytecode responsible for reverting does get triggered (which increased  your coverage)... but also, for the same reason we allow call on BaseAddress, just helps advanced use-cases.
the only cases im still looking at but so far it seems like they should happen at compile time, maybe in ethpm-types validators... potentially can do something with making sure there is either a payable fallback or a receive if transacting with a value= (however, we don't do this for any of the normal methods)

@fubuloubu GM
so i think if there is no fallback and no receive,  we should still let the user try to call the contact.
mainly, this will help coverage with ensuring the bytecode responsible for reverting does get triggered (which increased  your coverage)... but also, for the same reason we allow call on BaseAddress, just helps advanced use-cases.
the only cases im still looking at but so far it seems like they should happen at compile time, maybe in ethpm-types validators... potentially can do something with making sure there is either a payable fallback or a receive if transacting with a value= (however, we don't do this for any of the normal methods)

I agree with this approach, maybe we can add a warning later just to help clue people in, but for now this is a net improvement


Add GPU to Resource Request in MerlinAPI

What this PR does / why we need it:
This PR enable GPU API Configuration so user can deploy GPU enabled API to caraml MDP
Which issue(s) this PR fixes:

Fixes #
Does this PR introduce a user-facing change?:

Checklist

[x] Added unit test, integration, and/or e2e tests
[ ] Tested locally
[ ] Updated documentation
[ ] Update Swagger spec if the PR introduce API changes
[ ] Regenerated Golang and Python client if the PR introduce API changes

Just beginning to look at this MR and 86 file changes sacred me. 😱 Until I realised > 60 of them are the auto-generated client changes. 😅


WpfControls: Implement support for scrolling through dragging.

Stylus isn't working as well.

For PDFView and PDFThumbnailView


The exported file is inconsistent with the original

To Reproduce
Steps to reproduce the behavior:

First, import any ods file(such as A.ods) and create project
Then, export this ods project to ODF spreadsheet(A-ods.ods)
Finally, import the A-ods.ods, and this ods file is different from the original one

Current Results

create the project and export to ODF spreadsheet

import the ods files that exported

is different with original one

Expected Behavior

same with original file
Screenshots

Versions

Operating System:  Ubuntu 18.04
Browser Version: Chromium Version 100.0.4896.75 (Official Build) snap (64-bit)
JRE or JDK Version: OpenJDK 11
OpenRefine: OpenRefine 3.6

Datasets

the original files :
Sample.ods
After export :
Sample-ods.ods
Additional context

The content of the original file seems to be in a different sheet and moved down by 3 lines as a whole

Hi @wetneb  , I've fixed this bug few days ago, can you give me some suggestions and review this pr, thanks a lot!

Sure, will do as soon as I can, unfortunately the PR backlog is quite big and I have limited time. Thanks for your patience!


Change button in expense notification email based on approval status

User story
As a Collective admin, I want to know in the notification email if I need to click through to approve an expense, or if another admin has already got it, so that I can ensure expenses are processed efficiently.
Best solution for this problem
User suggestion: "for emails - make one of the buttons be an SVG which is served from an API - if the expense has been approved, return "approved" SVG, otherwise return a "View SVG" - ideally with colors/styling matching those status buttons on the app.
MVP
Can't think of a more minimal way to do this one.
Metrics
Fewer clicks on view in expense notification emails when the expense was already approved.
P3 high frequency, low impact

Interesting idea. I wonder how the email providers caching would play out here. For example, Google proxies all images through its own servers and probably caches them on the way.


centos7 编译报错

[root@localhost build]# cmake .. -G "Unix Makefiles"
-- Available Build Type: Unknown
-- Check Flag: -rdynamic -- yes
-- GCC Version 4.8.5 Found, -Wno-unused-local-typedefs added.
-- GCC Version 4.8.5 , using -std=c11/c++14.
-- Build Type: RelWithDebInfo
-- @/home/game/libatbus/build/deps/fmt-6.2.1/build_jobs_linux-x86_64-gnu Run: /usr/bin/cmake ../../../../3rd_party/fmtlib/pkg/fmt-6.2.1 -G 'Unix Makefiles' -DCMAKE_INSTALL_PREFIX=/home/game/libatbus/3rd_party/fmtlib/prebuilt/linux-x86_64-gnu -DCMAKE_POSITION_INDEPENDENT_CODE=YES;-DBUILD_SHARED_LIBS=OFF;-DFMT_DOC=OFF;-DFMT_INSTALL=ON;-DFMT_TEST=OFF;-DFMT_FUZZ=OFF;-DFMT_CUDA_TEST=OFF
-- CMake version: 3.9.4
-- Version: 6.2.1
-- Build type: Release
-- CXX_STANDARD: 11
-- Required features: cxx_variadic_templates
-- Configuring done
-- Generating done
-- Build files have been written to: /home/game/libatbus/build/deps/fmt-6.2.1/build_jobs_linux-x86_64-gnu
-- @/home/game/libatbus/build/deps/fmt-6.2.1/build_jobs_linux-x86_64-gnu Run: /usr/bin/cmake --build . --target install -j
Unknown argument -j
Usage: cmake --build  [options] [-- [native-options]]
Options:
          = Project binary directory to be built.
  --target  = Build  instead of default targets.
                   May only be specified once.
  --config  = For multi-configuration tools, choose .
  --clean-first  = Build target 'clean' first, then build.
                   (To clean only, use --target 'clean'.)
  --use-stderr   = Ignored.  Behavior is default in CMake >= 3.0.
  --             = Pass remaining options to the native tool.
CMake Warning at 3rd_party/atframe_utils/repo/project/cmake/modules/FindConfigurePackage.cmake:454 (find_package):
  By not providing "Findfmt.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "fmt", but
  CMake did not find one.
Could not find a package configuration file provided by "fmt" with any of
the following names:
fmtConfig.cmake
fmt-config.cmake

Add the installation prefix of "fmt" to CMAKE_PREFIX_PATH or set "fmt_DIR"
to a directory containing one of the above files.  If "fmt" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
3rd_party/fmtlib/fmtlib.cmake:69 (FindConfigurePackage)
3rd_party/3rd_party.macro.cmake:4 (include)
CMakeLists.txt:48 (include)
-- @/home/game/libatbus/build/deps/libuv-v1.38.1/build_jobs_linux-x86_64-gnu Run: /usr/bin/cmake ../../../../3rd_party/libuv/pkg/libuv-v1.38.1 -G 'Unix Makefiles' -DCMAKE_INSTALL_PREFIX=/home/game/libatbus/3rd_party/libuv/prebuilt/linux-x86_64-gnu -DCMAKE_POSITION_INDEPENDENT_CODE=YES;-DBUILD_SHARED_LIBS=OFF;-DBUILD_TESTING=OFF
-- summary of build options:
Install prefix:  /home/game/libatbus/3rd_party/libuv/prebuilt/linux-x86_64-gnu
Target system:   Linux
Compiler:
C compiler:    /usr/bin/cc
CFLAGS:
-- Configuring done
-- Generating done
-- Build files have been written to: /home/game/libatbus/build/deps/libuv-v1.38.1/build_jobs_linux-x86_64-gnu
-- @/home/game/libatbus/build/deps/libuv-v1.38.1/build_jobs_linux-x86_64-gnu Run: /usr/bin/cmake --build . --target install -j
Unknown argument -j
Usage: cmake --build  [options] [-- [native-options]]
Options:
          = Project binary directory to be built.
  --target  = Build  instead of default targets.
                   May only be specified once.
  --config  = For multi-configuration tools, choose .
  --clean-first  = Build target 'clean' first, then build.
                   (To clean only, use --target 'clean'.)
  --use-stderr   = Ignored.  Behavior is default in CMake >= 3.0.
  --             = Pass remaining options to the native tool.
-- Could NOT find Libuv (missing: Libuv_INCLUDE_DIRS Libuv_LIBRARIES)
-- Dependency: Libuv is required, we can not find prebuilt for libuv and can not find git to clone the sources
CMake Error at 3rd_party/libuv/libuv.cmake:102 (message):
  Libuv not found
Call Stack (most recent call first):
  3rd_party/3rd_party.macro.cmake:5 (include)
  CMakeLists.txt:48 (include)
-- Configuring incomplete, errors occurred!
See also "/home/game/libatbus/build/CMakeFiles/CMakeOutput.log".
See also "/home/game/libatbus/build/CMakeFiles/CMakeError.log".

@vbirds 忘记更新了，需要cmake 3.12以上版本

@vbirds 忘记更新了，需要cmake 3.12以上版本

更新3.12.4 编译成功

bash wget https://cmake.org/files/v3.12/cmake-3.12.4.tar.gz tar -zxvf cmake-3.12.4.tar.gz cd cmake-3.12.4 ./bootstrap gmake sudo gmake install

BTW: cmake 最简单的安装方法是直接用官方打包好的包哈。
wget https://github.com/Kitware/CMake/releases/download/v3.18.1/cmake-3.18.1-Linux-x86_64.sh
bash cmake-3.18.1-Linux-x86_64.sh --prefix=/usr --skip-licenses

@vbirds


fix(resources): strict OTEL_RESOURCE_ATTRIBUTES decoding

Which problem is this PR solving?
Fixes https://github.com/open-telemetry/opentelemetry-js/issues/3131
Type of change

[x] Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

[x] Add new valid test cases
[x] Add new invalid test cases

Checklist:

[x] Followed the style guidelines of this project
[x] Unit tests have been added
[ ] Documentation has been updated

I didn't realize characters outside the baggage-octet range MUST be percent-encoded. Great fix.

I didn't realize characters outside the baggage-octet range MUST be percent-encoded. Great fix.

The baggage specification is actually going to remove that wording. The spec will simply state the character range which is allowed and suggest percent encoding as one possible way to stay within the allowed character range.
source: I am on the working group which made the decision


Add command-line argument for benchmark result filename

Signed-off-by: Andy Grove<EMAIL_ADDRESS>When running automated benchmarks with a number of different configurations, it is important to be able to override the name of the generated report summary JSON file that contains the timing information.
This PR also updates the pom so that a jar-with-dependencies jar is built for the integration_test module.

build

build

Tests timed out.
build.

build

build

build


Refactor BaseHapiFhirDao.getOrCreateTag method to run in a separate thread for XA transaction compatibility

XA Transaction Issue with HAPI FHIR and PostgreSQL
We are experiencing issues in our HAPI FHIR application when using XA transactions, similar to those reported in issue #3412.
Problem
The PostgreSQL JDBC driver's PGXAConnection does not support suspend/resume operations, as detailed in the official documentation. This limitation causes exceptions when the PROPAGATION_REQUIRES_NEW transaction propagation behavior is used in XA environments, since it requires suspending the current transaction and resuming it later.
Proposed Solution
Refactor the getOrCreateTag method in BaseHapiFhirDao to use run in a separate thread, using the thread executor, preventing any suspension of the current transaction. Retrieve the tag in the current transaction using futures.
This change will make the application compatible with XA transactions in PostgreSQL by avoiding the suspend/resume requirement.

closes #3412

FYI @michaelabuckley all tests go green now


New package: OtfriedCheong.Ipe version 7.2.28

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

[X] Does your manifest conform to the 1.5 schema?

Resolves #119554

Microsoft Reviewers: Open in CodeFlow

@wingetbot waivers Add Validation-Executable-Error


PANIC in query-engine/connectors/mongodb-query-connector/src/root_queries/read.rs:101:74called Option::unwrap() on a None value

I am using mongoDB early-access and have noticed that the prisma client is not working. I was able to replicate the issue in a little demo app. Please find the autogenerated report and my code snippets below.
@matthewmueller, you asked me to create a feature request for one-directional relationships and to report a bug regarding my prisma client issue. Please see below my prisma schema and my thoughts on it in the comments. If prisma client works, I really don't mind how prisma is handling the relationships internally and I am fine with the two-directional relationship in the prisma.schema. But again, from a mongoose / mongoDB perspective, the pointer back from the other relationship (Ingredient) is kind of unnecessary. I hope that thought process makes sense! But also, it really doesn't matter as long as its not shown in the DB and prisma client works! 💯  Thanks for your support! 🙏
Hi Prisma Team! My Prisma Client just crashed. This is the report:
Versions

Name
Version

Node
v14.15.4

OS
undefined

Prisma Client
in-memory

Query Engine
query-engine c838e79f39885bc8e1611849b1eb28b5bb5bc922

Database
undefined

Query
query {
  findManyIngredient(
    take: 5
    skip: 5
  ) {
    id
    name
    type
    createdAt
    updatedAt
    defaultIn {
      id
      name
      createdAt
      updatedAt
      ingredientIds
      substitutionIds
    }
    alternativeFor {
      id
      name
      createdAt
      updatedAt
      ingredientIds
      substitutionIds
    }
  }
}

Logs
raf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/engines/c838e79f39885bc8e1611849b1eb28b5bb5bc922/query-engine-darwin are fine
  prisma:engine { flags: [ '--enable-raw-queries', '--port', '60387' ] }
  plusX Execution permissions of /Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/engines/c838e79f39885bc8e1611849b1eb28b5bb5bc922/query-engine-darwin are fine
  plusX Execution permissions of /Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/engines/c838e79f39885bc8e1611849b1eb28b5bb5bc922/query-engine-darwin are fine
  prisma:engine { flags: [ '--enable-raw-queries', '--port', '60388' ] }
  prisma:engine stdout  Started http server on http://<IP_ADDRESS>:60387
  prisma:engine stdout  Started http server on http://<IP_ADDRESS>:60388
  plusX Execution permissions of /Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/engines/c838e79f39885bc8e1611849b1eb28b5bb5bc922/query-engine-darwin are fine
  plusX Execution permissions of /Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/engines/c838e79f39885bc8e1611849b1eb28b5bb5bc922/query-engine-darwin are fine
  prisma:engine Client Version: in-memory
  prisma:engine Engine Version: query-engine c838e79f39885bc8e1611849b1eb28b5bb5bc922
  prisma:engine Active provider: mongodb
  prisma:engine Client Version: in-memory
  prisma:engine Engine Version: query-engine c838e79f39885bc8e1611849b1eb28b5bb5bc922
  prisma:engine Active provider: mongodb
  prisma:engine stdout  PANIC in query-engine/connectors/mongodb-query-connector/src/root_queries/read.rs:101:74
called `Option::unwrap()` on a `None` value
  prisma:engine {
  prisma:engine   error: SocketError: other side closed
  prisma:engine       at Socket.onSocketEnd (/Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/prisma-client/runtime/index.js:25736:24)
  prisma:engine       at Socket.emit (events.js:327:22)
  prisma:engine       at Socket.EventEmitter.emit (domain.js:467:12)
  prisma:engine       at endReadableNT (internal/streams/readable.js:1327:12)
  prisma:engine       at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  prisma:engine     code: 'UND_ERR_SOCKET'
  prisma:engine   }
  prisma:engine }
  prisma:engine {
  prisma:engine   error: Error: connect ECONNREFUSED <IP_ADDRESS>:60388
  prisma:engine       at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  prisma:engine     errno: -61,
  prisma:engine     code: 'ECONNREFUSED',
  prisma:engine     syscall: 'connect',
  prisma:engine     address: '<IP_ADDRESS>',
  prisma:engine     port: 60388
  prisma:engine   }
  prisma:engine }
  prisma:engine { cwd: '/Users/andrelandgraf/workspaces/demo/prisma' }
  plusX Execution permissions of /Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/engines/c838e79f39885bc8e1611849b1eb28b5bb5bc922/query-engine-darwin are fine
  prisma:engine { flags: [ '--enable-raw-queries', '--port', '60400' ] }
  prisma:engine Stopping Prisma engine4
  prisma:engine Waiting for start promise
  prisma:engine Done waiting for start promise
  prisma:engine stdout  Started http server on http://<IP_ADDRESS>:60400
  plusX Execution permissions of /Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/engines/c838e79f39885bc8e1611849b1eb28b5bb5bc922/query-engine-darwin are fine
  prisma:engine Client Version: in-memory
  prisma:engine Engine Version: query-engine c838e79f39885bc8e1611849b1eb28b5bb5bc922
  prisma:engine Active provider: mongodb
  prisma:engine stdout  PANIC in query-engine/connectors/mongodb-query-connector/src/root_queries/read.rs:101:74
called `Option::unwrap()` on a `None` value
  prisma:engine {
  prisma:engine   error: SocketError: other side closed
  prisma:engine       at Socket.onSocketEnd (/Users/andrelandgraf/.npm/_npx/2778af9cee32ff87/node_modules/prisma/prisma-client/runtime/index.js:25736:24)
  prisma:engine       at Socket.emit (events.js:327:22)
  prisma:engine       at Socket.EventEmitter.emit (domain.js:467:12)
  prisma:engine       at endReadableNT (internal/streams/readable.js:1327:12)
  prisma:engine       at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  prisma:engine     code: 'UND_ERR_SOCKET'
  prisma:engine   }
  prisma:engine }

Client Snippet
import { Ingredient, Recipe, FoodType } from '@prisma/client'
import prisma from '../db.server';

  //  in my case that I try to simplify here, there would be separate forms, so lets make separate queries
  const ingredient = await prisma.ingredient.create({ data: {
    name: ingredientName,
    type: FoodType.dairy // we only support dairy for now...
  } });
  const alternative = await prisma.ingredient.create({ data: {
    name: alternativeName,
    type: FoodType.dairy
  }})
 // recipe will be created somewhen later. Ingredients have to be able to "live" without them!
 // const recipe = await prisma.recipe.create({ data: {
 //   name,
 //   ingredientIds: [ingredient.id],
 //   substitutionIds: [alternative.id]
 //  }})

Schema
datasource db {
  provider = "mongodb"
  url      = env("DATABASE_URL")
}

generator client {
  provider = "prisma-client-js"
  previewFeatures = ["mongodb"]
}

enum FoodType {
  veggie
  fruit
  meat
  dairy
}

model Ingredient {
  id    String @id @default(dbgenerated()) @map("_id") @db.ObjectId
  name String @unique
  type FoodType
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
  // fields below would not be necessary in mongoose / NoSQL-land
  // but I guess they don't hurt either
  // maybe it even provides some nice basic for advanced analytics
  defaultIn Recipe[] @relation("DefaultIntegredients")
  alternativeFor Recipe[]  @relation("HealthierIntegredients")
}

model Recipe {
  id    String @id @default(dbgenerated()) @map("_id") @db.ObjectId
  name String @unique
  createdAt DateTime @default(now())
  updatedAt DateTime @updatedAt
  // the default ingredients for this recipe
  ingredients Ingredient[] @relation("DefaultIntegredients", fields: [ingredientIds], references: [id])
  ingredientIds String[] @db.ObjectId
  substitutions Ingredient[] @relation("HealthierIntegredients", fields: [ingredientIds], references: [id])
  substitutionIds String[] @db.ObjectId
}

I just realised the error logs are a bit different for my actual project, so as a comparison, let me also paste them here:
Query:
  prisma.ingredient.findMany({
  take: 100,
  skip: 0,
  select: {
    id: true,
    name: true,
    type: true,
    defaultIn: true,
    alternativeFor: true,
  }
})

Please not that I do not have any recipes, so both defaultIn and alternativeFor would be null.
I guess this is where the unwrap error comes from?
PANIC in query-engine/connectors/mongodb-query-connector/src/root_queries/read.rs:101:74
called `Option::unwrap()` on a `None` value

One more hint, could it be that my schema is just wrong?
meta: { message: "Failed to convert 'List([])' to 'ObjectId'." }

Do I have to change this line ingredientIds String[] @db.ObjectId somehow?
This might be related to https://github.com/prisma/prisma/issues/7119

Do I have to change this line ingredientIds String[] @db.ObjectId somehow?

I guess it has to be smth along the lines of @db.Array("String")?

That shows me the following warning: Error parsing attribute "@relation": The type of the field ingredientIds  in the model Recipe is not matching the type of the referenced field id in model Ingredient.

Same issue here

Workaround suggested by @matthewmueller  https://github.com/prisma/prisma/issues/7119#issuecomment-863046631

Thanks for linking these! Closing as a duplicate of #7119.


⚠ Bofrost.be has degraded performance

In 707f90b, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1233 ms

Resolved: Bofrost.be performance has improved in 6e49d7d.


Separate CSS Styling

Currently, our project utilizes a single CSS stylesheet to style the entire website. However, it would be beneficial to have separate CSS files for all sections. This would allow for more organized and modular code, making it easier to maintain and customize the styling of these sections independently.

Create separate CSS files for the all sections.
Refactor the existing code to remove any conflicting styles and dependencies between the sections.
Link the respective CSS files to their corresponding pages.
Apply the necessary styles specific to each section in their respective CSS files.
Improved code organization: Having separate CSS files will provide a clear separation of concerns, making it easier to locate and modify specific styles for each section.
Enhanced customization: With separate CSS files, it will be easier to customize the styling of the login and signup sections without affecting the rest of the website.
Modularity and maintainability: Changes or updates required in either section can be done independently without impacting other parts of the website.
Readability and scalability: Having dedicated CSS files for each section improves code readability and allows for easy scalability as new sections or features are added in the future.
Implementation Steps Example :

Create separate CSS files, e.g., "login.css" and "signup.css".

Refactor the HTML code of the login and signup pages to ensure proper class and ID naming conventions.

Move relevant CSS rules from the main stylesheet to their respective section-specific CSS files.

Link the CSS files to their corresponding pages using the  tag.

Test the functionality and styling of the login and signup sections to ensure they are properly styled.

hey! @thestarsahil
I am a beginner in open-source and I am serving as GSSOC 23 contributor this year. I would like to take up this issue. I am well versed with HTML, CSS and JS. Please assign me this issue.

Hello @thestarsahil
I am a contributor under GSSOC'23 and I have been working on this issue. Please assign this issue to me.
Thank you...

@thestarsahil I would like to work on this issue under GSSOC'23.Can u pls assign me this issue?

@sha0urya @PiyushaGhodake
This change will make our project more organized and modular, and it will make it easier to maintain and customize the styling of the website.
Please coordinate with each other and discuss any problems you encounter in the discussion section.
I look forward to seeing your work flow.

Thank you @thestarsahil sir for providing me this opportunity.
I will keep updating the work flow in the discussion section.

/


vtkplotter.show() not working on Jupyter Notebook

I am doing a robotics project in UC Berkeley. I am trying to use vtkplotter.show() for plotting a 3-d mesh and some points in 3-d. Everything is working well except vtkplotter.show() does not show anything at all.
I did research in various link and imported k3d still it does not work. Can you please help?

Hi, have you tried the options:
from vtkplotter import *

embedWindow('k3d') # or panel, itkwidgets, or False

# my code

Thanks for your response. I tried with embedWindow('k3d')
It does not produce any output but jupyter Notebook throws an error '-xsrf' argument missing from POST

oh... this sounds very mysterious .. what operative system are you using?

I am using windows 10

I will see if I can reproduce this on windows..

thanks a lot. I am using Jupyter Notebook on Windows10 laptop.
Regards
Gyanendra
On Tue, 24 Mar 2020, 16:56 Marco Musy<EMAIL_ADDRESS>wrote:

I will see if I can reproduce this on windows..
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/marcomusy/vtkplotter/issues/114#issuecomment-603565036,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AM5OP3YPGKA4K23VBFL54VLRJFCEDANCNFSM4LSH2IPQ
.


[Docs] Chaining transformations

This is a note of something that I need to document
Jonathan Meyer  12 hours ago
Hello :slightly_smiling_face:
Quick question regarding ingestionConfig on REALTIME tables
Is there any way to jsonPathString + further process the result with Groovy in transformConfig ? (edited)

Jonathan Meyer  12 hours ago
Say we have

{"data": {
  "someKey": <needs_processing>
  }
}

I'd like to process data.someKey with Groovy
It's possible from the query side with :

groovy('{"returnType":"LONG","isSingleValue":true}', 'Long.valueOf((arg0.substring(0, 8) + arg0.substring(18)), 16)', userId)

Basically need to do this ahead of time in the transformConfig of a REALTIME table

Working example:
Sure, here it is:
"ingestionConfig": {
    "transformConfigs": [
      {
        "columnName": "userOid",
        "transformFunction": "jsonPathString(data, '$.userId')"
      },
      {
        "columnName": "userId",
        "transformFunction": "Groovy({Long.valueOf((userOid.substring(0, 8) + userOid.substring(18)), 16)}, userOid)"
      }
   ]
}

Jonathan Meyer  8 hours ago
As we can see, to populate userId we use column userOid which is itself the output of a transformation

Jonathan Meyer  8 hours ago
Note that we are using 0.7.1-afa4b252ab1c424ddd6c859bb305b2aa342b66ed
And I haven't tested any other combinations of transformConfigs, so maybe some limitations still apply (e.g. order in which they are listed, maybe ?) (edited)

Neha Pawar  6 hours ago
No limitations should apply.. we added support for chaining, early this year. Thanks for pointing out!

Have updated the docs here - https://docs.pinot.apache.org/developers/advanced/ingestion-level-transformations#chaining-transformations. Thanks to Jonathan for the example!


Image Module: Store images in 3rd-party blob storage

In the first iteration of the img2vec module images are stored in Weaviate itself. This works fine in the small scale, but we don't expect this to scale to large cases. Furthermore, from a users perspective a HTML/Javascript-based frontend would preferably include images via <img src=""> tags to allow for lazy loading, browser caching, etc. This is currently not possible, as the base64-encoded image would be delivered directly from Weaviate.
As a remedy we have come up with the following plan:

If a specific environment variable is set (e.g. IMAGE_STORAGE_MODE=s3 and IMAGE_STORAGE_URL=...) images won't be stored in weaviate itself, but rather in the specified s3 (-compatible) store
We can offer minio through the config generator, as it's a fully s3 compatible alternative
When the users imports an image, the contents of the specified field will be replaced with the URL where the image is stored on the s3 storage. Note: Most likely the URLs where weaviate can reach the s3 storage and where the user can reach the s3 storage will be different, e.g. http://minio.namespace.cluster.local from Weaviate's perspective but http://minio.my-hostname.com, so we probably need to introduce a third env var, such as IMAGE_STORAGE_HOSTNAME=minio.my-hostname.com

We can put this on hold for now and first see if it actually becomes an issue for anyone.

Agree with the closing. So far this hasn't really become an issue and if it does, we can always reopen


Support cgroupv2 in Kubevirt

Is this a BUG REPORT or FEATURE REQUEST?:
/kind enhancement
What happened:
This is a placeholder issue to track the status of Control Group v2 (cgroupv2) support in Kubevirt.
https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v2.html
Cgroupv2 comes as a replacement of cgroupv1 and it introduces a new interface. Some features in Kubevirt make direct use of cgroup and therefore require adaptaion.
Initial support of cgroupv2 has been introduced in:

https://github.com/kubevirt/kubevirt/pull/4907
https://github.com/kubevirt/kubevirtci/pull/567
https://github.com/kubevirt/project-infra/pull/1092
https://github.com/kubevirt/project-infra/pull/1100

Known issues:

Whitelisting block devices: cgroup v2 drops device cotntroller in favor of eBPF. New implementation is needed to attach/detach eBPF programs (affects HotplugDisks)
Some tests are not run in CI: KUBEVIRT_E2E_SKIP='Multus|SRIOV|GPU|Macvtap|Operator'. Initially those were disabled for k8s 1.20 and cgroupv2 lane inherited that.
~Currently cgroupv2 test image is a copy of k8s 1.20 with just a couple of config options addded (for the kernel command line and crio). Would be nice to have a single image and setup cgroup during cluster-up.~ Fixed in https://github.com/kubevirt/project-infra/pull/1414

@vasiliy-ul with your PR merged, can we consider this Issue resolved?

@vasiliy-ul with your PR merged, can we consider this Issue resolved?

@phoracek , no the items listed in the description are not resolved yet. They need to be addressed in separate PRs.

@iholder-redhat  @vasiliy-ul  is theer actually still outstanding work? If so, is there roughly a target date of when this work is finished?
BTW - Awesome to see this work taking place.

Hey @fabiand!
Yes - there is certainly an ongoing work which can be found in this PR: https://github.com/kubevirt/kubevirt/pull/6042 (which is not ready to review yet).
Long story short:

I expect this PR to be updated & ready for review later today.
This PR will not cause virt-handler to be cgroups v2 aware just yet - since container-selinux' policy prevents us from supporting it. I've merged a PR to container-selinux that change SPC containers policy. Now we only need to wait until we're affected by the changes. Until then I will push towards merging this PR so that once we're affected by container-selinux' changes we can support cgroups v2 right away.
This PR does not only deal with supporting cgroups v2, but also involves a major refactoring. cgroup-related code was spread around many components, a lot of code was duplicated from runc repository (some of it was old and unmaintained) and was complex and hard to reason about. This PR creates a cohesive "cgroup" package that is fully v1/v2 agnostic from the user's perspective (e.g. can be used similarily to cgroup.NewManager(...).Set(rule)). It's a lot cleaner and compact and serves as a thin glue layer between us and runc.
This PR had many obstacles in the way for many reasons. Two major ones were container-selinux' policy problem (which did not allow to create BPF programs while cgroups' v2 devices subsystem is entirely implemented with eBPFs) and runc repository which its logic was partly broken and had many problems (during my work they released v1.0.0, the first stable release in 5 years).

/remove-lifecycle rotten
/remove-lifecycle stale
This PR https://github.com/kubevirt/kubevirt/pull/6042 has LGTM and is still waiting for review.
@rmohr @stu-gott

/remove-lifecycle rotten /remove-lifecycle stale
This PR #6042 has LGTM and is still waiting for review. @rmohr @stu-gott

PR is merged. I think this issue can be closed.

/remove-lifecycle rotten /remove-lifecycle stale
This PR #6042 has LGTM and is still waiting for review. @rmohr @stu-gott

PR is merged. I think this issue can be closed.

@vasiliy-ul


Uploading Project-metadata and version details for lime ,shap

#lime
#shap

Having too much conflicts so uploading new PR


xcolor not ready to provide \mathcolor

Using latex-dev you need to load both color and xcolor to get \mathcolor.
\documentclass{article}

\usepackage{xcolor}

\begin{document}

$ a \mathcolor{red}{+} b $

\end{document}

so it is and for quite some time ... @davidcarlisle could you please verify and approve (or not)?

@FrankMittelbach  @u-fischer I merged, I think the hesitation of doing a release  at the time was that (unless we do a latex-dev release of xcolor) this will add mathcolor to latex, not just latex-dev as xcolor will input the mathcolor file from the fallback "try the whole tree" search.
$ pdflatex '\RequirePackage{xcolor}\show\mathcolor'
This is pdfTeX, Version 3.141592653-2.6-1.40.24 (TeX Live 2022) (preloaded format=pdflatex)
 restricted \write18 enabled.
entering extended mode
LaTeX2e <2021-11-15> patch level 1
L3 programming layer <2022-04-10>
(/home/davidc/texmf/tex/latex/xcolor/xcolor.sty
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-cfg/color.cfg)
(/usr/local/texlive/2022/texmf-dist/tex/latex/graphics-def/pdftex.def)
(/usr/local/texlive/2022/texmf-dist/tex/latex-dev/graphics/mathcolor.ltx))
> \mathcolor=\protected macro:

ok so if we push that, then \mathcolor becomes available a bit earlier (in case xcolor gets loaded). I think we can live with that now. It was a bit different before TL22.


:seedling: Support app-level MFA

Problem Statement
Issue #25 states:

We use application level sign on policies to enforce MFA for specific applications, however the cli tool doesn't support this. I saw an closed issue from August due to lack of API support. Has this been added to the API? Is there some other solution to this problem?

Solution

Use stored cookies for browser authentication

Use browser for subsequent authentications when
OKTA_BROWSER_AUTH=true

Use RFC6265 cookie parsing provided by Apache HTTP Components

Provide a CookieHandler that delegates to JFX and saves cookies as
they are updated by HTTP responses

Resolves #25

@duhaas2015 @philliphayesiam this should fix your app-level MFA issue. If you can review and approve it, I can merge it.

@duhaas2015 @philliphayesiam you folks seemed interested in a fix for this, can you arrange a code review so it can be merged, please?


Review the presentation instructions

Have to log into the conference website and see what we need to put together for an online presentation. Not sure if it will be slides, poster, video, or all of them. Then we can start planning how we go about making this happen.

Asked the conveners and waiting to hear back.

Information is here: https://www.agu.org/Fall-Meeting/Pages/Present/Presenter-Guidelines/Poster-Guidelines
Online poster tool: https://ipostersessions.com/cases/
According to the conveners:

Our session is "on-line-only poster session", so below is the rule that you need to follow.
For submission, you only need to submit the poster using aMuze! iPosterSessions platform.
Two other responsibilities are:

16:00-17:15 CST: quick presentations (~ 2-3 mins) + followed group discussions
17:15-18:15 CST: be available for an hour for direct chat with attendees

And from the AGU website:

Both in-person and online presenters will utilize the aMuze! iPosterSessions platform, which has been used by AGU for the last four years and is a flexible HTML based poster format that allows authors to create interactive presentations that can include high-resolution images, videos and animations, voice-over narrations and scrolling content. At the most basic, you can simply paste in text and images from a PDF poster into one of several existing templates. Authors also have the option of recording a brief introduction or summary recording linked in the presentation. Although the deadline to upload an online poster presentation is 7 December, please note that authors will have access to make any updates to their presentations until 31 December.

We can have a few text boxes highlighting the packages and a few videos (some we already have or maybe record new ones if needed).


prune branches: remove perennial branch config

resolves #1166

Nice! Pretty rare case, but great to have for consistency!


First pass usability bugs.

There are a few issues I'm noticing while starting to use the dashboard. If you'd like, I can split these up into multiple issues so they can be tracked separately, let me know.

The dashboard takes 10-15 seconds to load. It might actually take this much processing time to load everything in, but a message to the user that the dashboard isn't deadlocked and is still processing might be nice.
Dark-mode coloring seems to be broken, see the screenshot below.

Clicking either burndown or annotate renders the dashboard unusable. See screenshot below, taken after I selected a result and clicked Annotate.

Opening the dashboard can be done by Ctrl+Shift+P->SARIF: Show spaceros dashboard, or by opening a .sarif file. However, only specific .sarif files seem to be supported (opening cobra-autosar.sarif does not open the dashboard, while clang_tidy.sarif does).

I've commented out the burndown chart as it was only a part of demo 1 with no real data.
fixed the coloring issue, there was a hard coded background color somewhere.
I'll be working on a loading splash then


I am unable to add custom parameters

Here is the detailed in this url :
https://stackoverflow.com/questions/56303616/microsoft-outlook-add-custom-parameter-authorization-request
I need to add extra param which have dynamic value
I did not found for this in given Microsoft  Docs
Like this example -
$provider = new \League\OAuth2\Client\Provider\GenericProvider([
'clientId'                => Constants::CLIENT_ID,
'clientSecret'            => Constants::CLIENT_SECRET,
'redirectUri'             => Constants::REDIRECT_URI,
'urlAuthorize'            => Constants::AUTHORITY_URL . Constants::AUTHORIZE_ENDPOINT,
'urlAccessToken'          => Constants::AUTHORITY_URL . Constants::TOKEN_ENDPOINT,
'urlResourceOwnerDetails' => '',
'custom_param' => '$user_type'
]);

Closing this issue as we can't really provide support for authentication here. Stack Overflow is a better place for this kind of question.

Can you answered me on stack overflow?
On Tue, 28 May 2019, 22:37 Jason Johnston<EMAIL_ADDRESS>wrote:

Closing this issue as we can't really provide support for authentication
here. Stack Overflow is a better place for this kind of question.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OfficeDev/outlook-dev-docs/issues/592?email_source=notifications&email_token=AMFII2TRI7NJYTEMYGPWIODPXVREVA5CNFSM4HPUMCA2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODWMZMFI#issuecomment-496604693,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AMFII2TUSL3KQSAZUC7GD6TPXVREVANCNFSM4HPUMCAQ
.


Move discount choice for Euros or percent to ScenarioParameters

Error https://github.com/averbraeck/housinggame-facilitator/issues/25 is caused by the fact that there is an inconsistency between the NewsEffects of different rounds. The choice for the type of discount should only be made once.

In table newsEffects:
ALTER TABLE `housinggame`.`newseffects`
DROP COLUMN `house_discount_percent`,
DROP COLUMN `house_discount_euros`;

Furthermore, field ScenaripParameters.news_discount_in_euros (boolean) added to the database.

Choice for Euros removed from NewsEffects:

and added to ScenarioParameters:


rebase: update gingko to v2 version

Ginkgo v1 is deprecated and was replaced with v2.
Ref: https://onsi.github.io/ginkgo/MIGRATING_TO_V2#upgrading-to-ginkgo-20
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>

This might need to wait till we have ginkgo v2 in kubernetes as we have dependency problem.

This still need to wait as kubernetes is still using v1 in released version

suppressed by https://github.com/ceph/ceph-csi/pull/3338


xcode won't show files in Examples

Pete discovered that the files in the top-level Examples directory don't show up in Xcode automatically.
They will show up after running mv topics/* . in the Examples directory, but it's a manual step that can be overlooked and we need to make sure we mention this fact in our documentation.
It seems like this problem of Xcode's project navigator being out of sync with the file system has been a pain for a while based on these comments:

https://stackoverflow.com/questions/12454430/how-to-refresh-project-navigator-content-in-xcode
https://stackoverflow.com/questions/2303802/how-do-you-keep-xcode-project-source-files-in-sync-with-your-file-system-directo

In the future, we might want to explore how else we can structure the repo or other ways to resolve this issue.

Best solution is probably to close Xcode and open it again but just the Examples subfolder you want to run


Failing to prune from report.json

Describe the bug
Unable to prune from report.json
❯ unused-features prune --input report.json
A
B
[2022-10-28T09:30:29Z INFO  unused_features::subcommands::prune] Executing prune command.
[2022-10-28T09:30:29Z INFO  unused_features::report] Loading report from report.json.
[2022-10-28T09:30:29Z ERROR unused_features] Failed to deserialize report from report.json, maybe an old report? Current version is 0, make sure this is the same one in the report.

Only change I have made to the report.json  file is removing from reqwest's successfully_remove_features the features rustls-tls and rustls-tls-webpki-roots
Provide the following information
Cargo.toml
[dependencies]
clap = { version = "4.0.15", features = ["derive"] }
regex = "1.5"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
reqwest = { version = "0.11", default-features = false, features = ["stream", "rustls-tls"] }
tokio = { version = "1.16.1", features = ["full"] }
anyhow = "1.0.52"
indicatif = "0.16.2"
futures-util = "0.3.14"
dirs = "4.0.0"
cfg-if = "1.0"
tracing = "0.1"
tracing-subscriber = "0.2"
yansi = "0.5.1"

The debug level logs: the default ones, didnt specify anything
The target-os and architecture used for building: Arch linux x86

Thanks for filing the issue. Are you sure the report is generated by the same version of the generating and reading library?

I think so? I didn't really update anything...


Add covid data global cases API

Description
Added global covid data cases API for hacktoberfest 2021
Screenshot
Optional

Checklist

[x] API used in this PR was not used in Random-APIs before.
[x] API used in this PR is Public or I have permission to use it.
[x] My contribution is working.
[x] My changes don't generate any new warnings.
[x] My changes don't affect any work done by other developers.

To tick a box, replace [ ] with [x].

Hey @Sampahcokk-dev
Please add the loading line in the code. You can find the updated code in README.
Please also add screenshot of the output.

so should i close this pull request?

No @Sampahcokk-dev
You need not close this..
You can simply commit your changes and open pull request. It will be added to this PR only

ok done