A solution for non-seekable video files.

My use-case required me to have, mp4 files, at 60fps, and for the video to be seek-able. To my understanding the resulting videos are non-seekable due to the fact that they are originally from a stream, and thus do not have any metadata. The solution that I found is to force metadata into the file.
This is rather slow, and the better option would be to have the encoder (somehow) add the metadata during the recording process.
A disclaimer: I don't know much about the inner workings of chromium recording/streaming, this is simply just a solution that I found that may help someone out.
const { launch, getStream } = require("puppeteer-stream");
const fs = require("fs");
const { executablePath } = require("puppeteer");
const ffmpeg = require("fluent-ffmpeg");

const webmFile = __dirname + "/test.webm";

async function test() {
  const browser = await launch({
    defaultViewport: {
      width: 1920,
      height: 1080,
    },
    headless: false,
    executablePath: executablePath(),
  });

  const page = await browser.newPage();
  await page.goto("https://www.youtube.com/watch?v=dQw4w9WgXcQ");
  const stream = await getStream(page, { audio: true, video: true, videoConstraints: { mandatory: {  minFrameRate: 58, maxFrameRate: 60 }} });
  console.log("recording");

  const file = fs.createWriteStream(webmFile);
  stream.pipe(file);

  setTimeout(async () => {
    await stream.destroy();
    file.close();
    browser.close();

    const outputMP4File = __dirname + "/test.mp4";
    const videoMetadata = await getVideoMetadata(webmFile);

    ffmpeg()
      .input(webmFile)
      .outputOptions([
        `-metadata title="${videoMetadata.title}"`,
        `-metadata artist="${videoMetadata.artist}"`,
        "-r 60",
        "-b:v 8000k",
      ])
      .output(outputMP4File)
      .on("end", () => {
        console.log("Metadata added and WebM converted to MP4 successfully.");
      })
      .on("error", (err) => {
        console.error(
          "Error while adding metadata and converting WebM to MP4:",
          err
        );
      })
      .run();
  }, 1000 * 10);
}

async function getVideoMetadata(inputFile) {
  return new Promise((resolve, reject) => {
    ffmpeg.ffprobe(inputFile, (err, metadata) => {
      if (err) {
        reject(err);
      } else {
        const { title, artist } = metadata.format.tags;
        resolve({ title, artist });
      }
    });
  });
}

test();

Hi,
No one has any comments for this?
Is this really the only solution to make the video seekable?

I just discovered the frameSize option which makes my file seekable? you confirm?


Separate package from jcarbaugh version

I'm sorry for using a PR as an issue.
However this repo is used from home-assistant which I'm trying to improve.
The README installation instructions say pip install roku which will install jcarbaugh's version.
Would it be possible to create a pypi package for this fork?
home-assistant/home-assistant#7069

Merging and creating pypi package and updateing readme

https://pypi.python.org/pypi?:action=display&name=python-roku&version=3.1.3
This can now be updated in homeassistant


fix: return valid JSON string from get_fields

Signed-off-by: Jason Dellaluce<EMAIL_ADDRESS>What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area plugin-sdk
What this PR does / why we need it:
This fixes the JSON formatting of get_fields, which returned broken JSONs and prevented every C++ plugin based on this SDK to get rejected by the plugin framework 😸
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jasondellaluce
To complete the pull request process, please assign fntlnz after the PR has been reviewed.
You can assign the PR to them by writing /assign @fntlnz in a comment when ready.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce, leogr
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [leogr]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: 21d1052a7111e16c2d5a7dcc08edb8098e5e3d69


No output by simple_IMSI-catcher.py

Dear
despite my efforts to find myself alone, a solution, I am compelled to parasitize here.
I'm using two terminals: Terminal 1 to find one frequency (by grgsm-scanner) and after select one of these; I'm using grgsm-livemon to send GSMTAP data  format by UDP server. Terminal 2: to read UDP packet of terminal 1 by simpleIMSYCatcher.py .
Here an example:
Terminal 1:
VirtualBox:~$ grgsm_scanner -v -g 40
linux; GNU C++ version 7.3.0; Boost_106501; UHD_<IP_ADDRESS>-0-unknown
ARFCN:  980, Freq:  926.2M, CID:     0, LAC:     0, MCC:   0, MNC:   0, Pwr: -58
|---- Configuration: Unknown
|---- Cell ARFCNs:
|---- Neighbour Cells:
ARFCN:   79, Freq:  950.8M, CID:  7690, LAC: 30510, MCC: 208, MNC:  10, Pwr: -60
|---- Configuration: 1 CCCH, not combined
|---- Cell ARFCNs:
|---- Neighbour Cells:
VirtualBox:~$ grgsm_livemon -g 40 -f 926.2M --serverport=4729
Warning: failed to XInitThreads()
linux; GNU C++ version 7.3.0; Boost_106501; UHD_<IP_ADDRESS>-0-unknown
gr-osmosdr 0.1.4 (0.1.4) gnuradio 3.7.11
built-in source types: file osmosdr fcd rtl rtl_tcp uhd miri hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
Cannot connect to server socket err = Aucun fichier ou dossier de ce type
Cannot connect to server request channel
jack server is not running or cannot be started
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
JackShmReadWritePtr::~JackShmReadWritePtr - Init not done for -1, skipping unlock
Detached kernel driver
Found Rafael Micro R820T tuner
Reattached kernel driver
Using device #0 Realtek RTL2838UHIDIR SN: 00000001
Detached kernel driver
Found Rafael Micro R820T tuner
[R82XX] PLL not locked!
Exact sample rate is: 2000000,052982 Hz
[R82XX] PLL not locked!

Terminal 2:
VirtualBox:~/IMSI-catcher$ sudo ./simple_IMSI-catcher.py
[sudo] Mot de passe de rolland :
Nb IMSI ; TMSI-1     ; TMSI-2     ; IMSI              ; country      ; brand      ; operator              ; MCC  ; MNC   ; LAC    ; CellId
Traceback (most recent call last):
File "./simple_IMSI-catcher.py", line 547, in
udpserver(port=options.port, prn=find_imsi)
File "./simple_IMSI-catcher.py", line 496, in udpserver
sock.bind(server_address)
File "/usr/lib/python2.7/socket.py", line 228, in meth
return getattr(self._sock,name)(*args)
socket.error: [Errno 98] Address already in use
VirtualBox:~/IMSI-catcher$ sudo ./simple_IMSI-catcher.py -s
Nb IMSI ; TMSI-1     ; TMSI-2     ; IMSI              ; country      ; brand      ; operator              ; MCC  ; MNC   ; LAC    ; CellId

And I Have no output; May be I am wrong somewhere ?
WireShark work well.
Could you help me to find my mistake ?
Philippe,
Best regards

Dear,
ok all is allright; no problem, it's perfect.
Thanks you for all.
Bets regards.

For helping other users, could you post what you done to solve it ?

Dear Oros42,
of course with plaisure. I'm founding this URL:  https://www.reddit.com/r/RTLSDR/comments/721ro3/having_troubles_with_imsicatcher_warning_long_post/
So I'm just add  --args rtl  with command grgsm_livemon ; for example:
grgsm_livemon --args rtl -f xxx.xxx.xxxM  -g 40
In return; I'm looking for how to scan more than one frequency (4 BTS for example) to send to simple_IMSI-catcher.py; do you have any idea ? Inside file scan-and-livemon: I can see may be a solution, but I don't really understanding.

"""
Script to scan for base stations and start submitt GSM packages on one
or more the frequencies found using grgsm_livemon_headless to the
loopback network device
The idea is to gather GSM packages from as many of the GSM base
stations and phones in the area as possible, by spreading across as
many operators as possible.
"""

Could you help me ?
Best regards for all.

I have no Output from IMSI-catcher and grgsm_scanner, too.
But grgsm_livemon works with my Hackrf.
Is it possible that there is a conflict with Gnuradio8? Because it works fine under Gnuradio7...
Thanks in advance!

I am looking for some solution regarding the script "./simple_IMSI-catcher.py" as I can add other ports so that I can collect data from several ports at the same time. Maybe someone will suggest something?
Thank you in advance for your answer.


Reading file cause ENOENT error

    const rootZip = await fetch(`https://pob-web-asset.atty303.ninja/versions/v2.42.0/root.zip`);
    await zenfs.configure({
      mounts: {
        "/root": {
          backend: Zip,
          data: await rootZip.arrayBuffer(),
          name: "root.zip",
        },
      },
    });

    console.log(await zenfs.promises.exists("/root/.image.tsv")); // --> true
    console.log(await zenfs.promises.readFile("/root/.image.tsv"));

This lead to error.
Error: No such file or directory
    at _ErrnoError.With (chunk-VATA5WVB.js?v=693bd934:8481:12)
    at _open (chunk-VATA5WVB.js?v=693bd934:13219:24)
    at async open (chunk-VATA5WVB.js?v=693bd934:13239:10)
    at async Object.readFile (chunk-VATA5WVB.js?v=693bd934:13243:67)
    at async DriverWorker.start (worker.ts?worker_file&type=module:95:21)

core: 0.12.3
zip: 0.4.4

The error message is missing a path. Perhaps it is trying to read '' in '/'.

I reproduced it locally and found an issue with core.

@atty303 core v0.12.4 fixes the issue.

Thanks, I was able to confirm the fix for this Issue.


Double and triple jump not working

Currently the double and triple jump baubles don't grant me double or triple jump.

Probably related to syncing problems. I'll look into it.

Weird, looks like I'm not able to reproduce it even when running a dedicated server instance. Which is honestly what I expected because the jump is handled on both sides separately.

Okay it seems to only be working in the debug environment.

Alright, I figured it out. It should be fixed in v.1.2.3 which is currently waiting for approval.

Nevermind, it still has some issues.

Okay, waiting for approval. Should be up soon (for real this time). Worked out all the quirks.

It's available now: https://minecraft.curseforge.com/projects/convenient-additions/files/2395518
I was able to fix it thanks to the help of SkySom on the #minecraftforge IRC, just to give proper credit.


chore(master): release 0.60.2-alpha

:robot: I have created a release beep boop
0.60.2-alpha (2024-03-07)
Bug Fixes

error (4c68cd3)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/mafqla/yalis-blog/releases/tag/v0.60.2-alpha :sunflower:


Cluster explorer appearance customisation sample

This sample shows how to customise the appearance of nodes in the cluster explorer, using the proposed new API (not yet in a release).  It adds the server version to context names at the top level of the tree.

looks good!


Add information about node based compressed texture generator

Add information about node based compressed texture generator

I am on it


[Android] App crashes with C++ exception when starting react-native in an existing app

03-17 01:02:33.391 3057-3057/? A/DEBUG: Abort message: 'Assert (/Users/mkonicek/code/react-native/ReactAndroid/src/main/jni/first-party/jni/fbjni/Exceptions.cpp:86): localUnknownCppExceptionClass'

react-native v0.19.0
node v5.7.0
platform: Android
OS: Mac OS X 10.11.2

The same bug was reported last year but it was closed due to lack of inactivity on the ticket https://github.com/facebook/react-native/issues/4253

@facebook-github-bot stack-overflow

When does this happen? Can you share some code that reproduces this?

Hi @mkonicek
It seems that this issue was caused by some misconfigurations in the proguard file, but after this was fixed another bug surfaced that seems to be related to using multidex in the app where I am trying to integrate react-native.
There is already a ticket logged for this bug https://github.com/facebook/react-native/issues/5645 where I added more details abut my case.
Please let me know if multidex support needs to be added on the react-native side or can be actually fixed from inside the app that uses it. Thanks!

For anyone else running into this issue with existing android apps, make sure you add the react native proguard rules to your existing app if using proguard. I also got this same error message, and it was tough to track down to a proguard issue.


FW-4737 Move part of speech to base dictionary entry model

Description of Changes
Moves part of speech to the dictionary entry model rather than the translation model. Tests and serializers are updated accordingly.
Checklist

[x] README / documentation has been updated if needed
[x] PR title / commit messages contain Jira ticket number if applicable
[x] Tests have been updated / created if applicable
[x] Admin Panel has been updated if models have been added or modified
[x] Migrations have been updated and committed if applicable
[x] Team Postman workspace has been updated if applicable

Reviewers Should Do The Following:

[x] Review the code changes here
[ ] Pull the branch and test locally

Additional Notes
N/A

Approved, assuming the tests pass after fixing the migration numbering

The one thing I am wondering about is if the Admin pages need to be updated after these changes. Otherwise, all changes look good to me!

Good catch, the admin site is broken. Will fix in the next commit


Add validation for 2 positive integer fields

Questions
Answers

Description?
Field requires positive integer value need validation before saving

Type?
improvement

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes PrestaShop/Prestashop#28929

How to test?
Check above issue

Hello @leemyongpakvn
Thank you for your involvement in the project
Could you try to use CS-fixer because the test will fail.
Code Before :

Code After :

Thank you again.

@okom3pom Thanks for your tool suggestion. I have updated with php-cs-fixer's fixed code.

We need a new trans string '%s is invalid. Please enter an integer greater than %s.' in Admin.Notifications.Error also.

It looks like there is problems with PHPStan itself, not the PR's code.

@florine2623 Thanks for testing and informing. I have added one more positive number check and used Module::displayError for close button. @kpodemski has checked again and approved :)

Thanks @leemyongpakvn :)


CHAOS-4060 VMware faults audit

VMware chaos faults audit

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65c09261a61dc000c88f46fb--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://65c2f80aa65f4f2780079e15--harness-developer.netlify.app


Support different principal IDs

The attestation should be changed from principal.id: gke-sa://bla to principal.kubernetesServiceAccount:bla. This way the control plane only needs to to exact string matching.

Likely won't be needed once we change the attestation format and use (down) scoping instead of context type

will likely change this to scope. We'll then define callback to set the ownership if it's not the default registry+package name

Move to google_service_account in example. We can tackle support for other fields as part of https://github.com/laurentsimon/slsa-policy/issues/23


List events automatically after deleting by keyword instead of current blank display

same issue with edit command, it is doing a list all instead of list previous

okay i looked through the code, i can fix the main issue by adding one line.
lemme dig through a bit more for the edit problem

@kevinLamKB
Seems like this problem happens only when we delete with keyword. Deletion with '/float' marker updates the display of the latest filteredList just fine. Can you briefly tell us how that one works?

so in deletion by /float, i can use the list that i take from getFilteredFloatingTaskList.
with that list i can easily reach the Entry that i want to delete and then pass it to model to delete.
the key difference is that the other deletion by keyword, the 'found list' and the 'current list' can be completely different, so theres no way to always reach the entryToDelete using getFilteredFloatingTaskList, unless i do a search with the new keywords.

Hmm I see. One realisation I have is that Jim may use delete or edit on an entry that isn't displayed in the filtered list. Something like

What Jim types list:

homework1
cs2103 lecture
homework2

Jim do find homework. MultiTasky will display:

homework1
homework2

Jim then do this delete lecture

In such case, it doesn't really make sense to try to refresh the list with 1 entry less, because the deleted or edited entry isn't shown in the list he sees before using delete or edit. Right?

erm sorry, i don't get what u mean by refresh the list with 1 entry less. So ideally it should still show

homework1
homework2

after jim does his delete lecture , is that what u meant?

Hmm, yes I guess still showing

homework 1
homework 2
would be fine.

It's okay ignore my previous message haha, it's invalid.

I think I get what you mean now. I have a few more questions that I need to clarify about the workings inside Logic, but it'll be lengthy. Since this is of low priority and is too dependent on the other developments, maybe we discuss this only on Monday?

Haha, sorry if i'm being unclear. I agree, this issue is not that pressing, lets discuss more on Monday. Maybe i'll be able to understand more of how Model works also and then find a nice solution.

part of https://github.com/CS2103JUN2017-T2/main/issues/114


Improve cookie banner guidance

What
We've received user feedback about the example text and 'Research on this component' section in the cookie banner guidance.
Why
User feedback 1 (example text)
"I shared it with the designers...earlier today and it’s resulted in some interesting discussions, one in particular around the content in the banner. We wonder if “…understand how you use the service…” is potentially misleading, as analytics shouldn’t be able to track one user. Maybe something like “We’d also like to store cookies to track visits and find out how people use the website, so we can make improvements.” would be a better option?"
User feedback 2 ('Research on this component' section)
"Is there a word missing here?

We remove the visible focus indicator from when shifting focus to the cookie banner.

I don’t understand the whole section, though, why would it not be operable with a keyboard?"
Who needs to know about this
Community Manager, Content Designers, Developers, Technical Writer(?)
Done when

[ ] Team confirms update(s) needed
[ ] Content Designers and/or Technical Writer have drafted update(s)
[ ] Devs have reviewed and approved update(s)
[ ] Update(s) published

Should each piece of feedback have its own issue?

Feedback from Content Designer on example text:
"I don't think it's misleading - but on the other hand, "you" might put some people off.
So I'd be inclined to go with their wording, given that it might increase acceptance rates a little.
We talk about services rather than websites, though. And needs to refer to analytics cookies. So I'd go with -

Cookies on [name of service]
We'd also like to use analytics cookies to track visits and find out how people use the service, so we can make improvements.
[Accept analytics cookies]      [Reject analytics cookies]"

I've drafted suggested amends in Stephen's Google Doc for the cookie banner.
Have tagged Stephen and Hanna - would also be good to do a final review with @EoinShaughnessy when it's in better shape.

Google Doc for cookie banner: https://docs.google.com/document/d/1QAA_9GVd5Uxbx9kOXPpYLf6U6yVGb5fnCbLNA60fSII/edit

Pull request created for 'User feedback 1 (example text)', in review:
https://github.com/alphagov/govuk-design-system/pull/1517


Is AT mode working?

What happened:
I'm assuming one scenario for service invoke chain: OrderService -> ProductService -> UserService. Three services will share one global tx. Maybe I'm wrong, but it seems this is impossible to achieve with current AT mode ^?
The follow func will start a new global tx (providing ctx doesn't hold any global tx information), and directly commit or rollback this new global tx. No chances are left to pass this newly created global tx to downstream services (product service, user service).
func sampleInsert(ctx context.Context) {
	tm.WithGlobalTx(ctx, &tm.GtxConfig{
		Name:    "ATSampleLocalGlobalTx_Insert",
		Timeout: time.Second * 30,
	}, insertData)
}

commitOrRollback is within tm.WithGlobalTx already.
What you expected to happen:
Global tx XID can be passed from init order service to downstream user service, and when this service invoke chain has finished, the init order service can decide whether commit or rollback this global tx.
Something like this

func main() {
	client.InitPath("../../conf/seatago.yml")
	db = util.GetAtMySqlDb()
	orderCtx := context.Background()

	defer func() {
		// isSuccess is determined by the returned result from product service and
		// user service. If all goes well, isSuccess = true, otherwise isSuccess = false.
		tm.CommitOrRollback(orderCtx, isSuccess)
	}()

	// order service needs an insert
	orderServiceInsert(orderCtx)

	// order service sends rpc call to product service
	time.Sleep(2 * time.Second)

	// product service has received this rpc request.
	// This request has included order service's global tx's XID, so product service can
	// implement its actions within the same global tx.
	productCtx := context.Background()
	tm.SetXID(productCtx, "{XID received from order service}")
	productServiceInsert(productCtx)

	// product service sends rpc call to user service.
	time.Sleep(2 * time.Second)

        // user service has received this rpc request.
	// This request has included product service's global tx's XID, so user service can
	// implement its actions within the same global tx.
	userCtx := context.Background()
	tm.SetXID(userCtx, "{XID received from product service}")
	userServiceInsert(userCtx)

	<-make(chan struct{})
}

func orderServiceInsert(ctx context.Context) {
	tm.WithGlobalTx(ctx, &tm.GtxConfig{
		Name:    "ATSampleLocalGlobalTx_Insert",
		Timeout: time.Second * 30,
	}, insertData)
}

func productServiceInsert(ctx context.Context) {
	tm.WithGlobalTx(ctx, &tm.GtxConfig{
		Name: "ATSampleLocalGlobalTx_Insert",
		// This action must be under a global tx scope.
		// For example, it must be invoked from order service's rpc request
		Propagation: tm.Mandatory,
		Timeout:     time.Second * 30,
	}, insertData)
}

func userServiceInsert(ctx context.Context) {
	tm.WithGlobalTx(ctx, &tm.GtxConfig{
		Name: "ATSampleLocalGlobalTx_Insert",
		// This action must be under a global tx scope.
		// For example, it must be invoked from product service's rpc request
		Propagation: tm.Mandatory,
		Timeout:     time.Second * 30,
	}, insertData)
}

How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:

Never mind. AT mode is not for such case. TCC and Saga is used across services.


Remove Calendar and Discussion from the Front Screen

These came back recently, they're not features we're shipping. Let's remove the icons related to them.

Resolved in pull request 60


Dropping first message

I'm looking in to a noticeable delay that express-ws seems to be introducing into the websocket handling. The result of this delay is that if a client sends a message on open it won't be handled by the server.
I'm seeing a 90ms delay from the connection opening (from index.js L45 wsServer.on('connection', (socket, request) => {) to my app.ws('/socket', () => { ... }) handler being fired.
By adding a process.hrtime call at index.js line 45 I've measured between 96ms and 87ms delay.
Presumably this is due to the middleware between the websocket connecting and the handler firing but it seems odd to me that the websocket would respond with an open event until the websocket was really ready to receive requests.
As a work around I have as the last line in my handler a ws.send('ready') which clients must wait for before they can send their first message.

In case any one else find this: Looks like on the connection event, all the middleware is then called before reaching the route handler, where I would naturally try to attach the message event handler. If the middleware awaits any promises, by then it's too late, as messages will have already arrived and been dropped. Short of making all my middleware synchronous, I don't see a fix without significant re-architecting.

Thanks for the workaround @michaeldfallen. Unfortunate that we need it, but at least it still works 3 years later.


Create readmes for every component based on GitHub wiki content

Description
To bring the documentation of the Email Core Components in line with the Core Components, all content about the individual components in the GitHub wiki were moved to readme files for each component.
Related Issue
CQDOC-19486
Motivation and Context
Standardizes documentation across components projects so users can easily find content. Removes redundant and outdated content from GitHub wiki
How Has This Been Tested?
No. But only readme files were added.
Screenshots (if appropriate):
n/a
Types of changes

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

Checklist:

[x ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[x ] My change requires a change to the documentation.
[x ] I have updated the documentation accordingly.
[x ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

done within #244


Adds zig textobjects

Adds all the basic textobjects for Zig. Might be missing some more advanced things like lambdas. I'm not 100% sure about the class object implementations where I manually select "{" and "}". They work, but they appear to be a non-standard implementation.

I'm not sure what to do with these errors. I downloaded the appimage on my machine and ran the same command without error. I don't know what else I can do to reproduce this, and the error is not helpful enough for me to deduce the problem.


Suggestion: You can easily add v-model support

Hello, first of all simple & great component and I'm sorry if this is the wrong spot for suggestions.
I wanted to use Vue's v-model directive and it took around one minute to implement. Maybe you'd like to use this too:
Append "value" to props:
props: ['elementId', 'existingTags', 'oldTags', 'typeahead', 'value'],
Emit an input event after a tag has been added / removed (add this to the "tag()" watcher):
this.$emit('input', this.tags);
You can then use your component like:
<tags-input ... v-model="selectedTags"/>
Cheers

how did you apply v-model support to this vue-tagsinput?

I haven't yet, sorry. I'll try to add it tomorrow if I have time.

I've implemented the v-model support, please update the package.


Using Turtle with On Game Update causes severe framerate drop

The 'On Game Update' block does not seem to be interacting properly with the Turtle extension; for example, just moving a few steps on each update appears to be causing a frame rate drop from about 1000fps to 5 fps (where 1000fps was just using a standard unbounded while loop). This ends up causing the steps to be more of a 'teleport' than continuous motion, as seen in the examples below.
Example with while (true)
Example with on game update

Good to know, thanks. @eric-camplin and I were planning on using it in the 'introduction to iteration' portion of the course, so we'll start considering alternatives for that for the time being.


Hoobs crashed after update with this package

Hoobs crashed after update with this package
4.3.2021, 19:50:25 npm
4.3.2021, 19:50:25  WARN notsup Unsupported engine for<EMAIL_ADDRESS>wanted: {"node":">=14.15.4","homebridge":">=1.3.1"} (current: {"node":"14.15.1","npm":"6.14.8"})
npm WARN
4.3.2021, 19:50:25
4.3.2021, 19:50:25 notsup
4.3.2021, 19:50:25  Not compatible with your version of node/npm<EMAIL_ADDRESS>4.3.2021, 19:50:25
4.3.2021, 19:50:25 +<EMAIL_ADDRESS>updated 1 package in 3.843s
4.3.2021, 19:50:25
10 packages are looking for funding
run npm fund for details
4.3.2021, 19:50:25 Plugin "homebridge-meross" updated.
4.3.2021, 19:50:25 Got SIGINT, shutting down Bridge...
I have HOOBS Version 3.3.3

@ash123-germany, You need to have homebridge v1.3.1 installed as the changelogs says.
I would recommend moving to homebridge.


[6398] - bulk placement csv export

Context
To make it easier for users to bulk import placement data, we want to provide a CSV template for the user to “fill in the gaps”. So we provide rows for each trainee (identified by TRN), and space to populate the placement records (with school URNs).
Changes proposed in this pull request

adds bulk placement report csv export

Guidance to review

you'll need to be signed in as a provider persona
you'll need a trainee that:

is awarded
has less than 2 placements
has their end date (i.e. awarded_at) set to be within the previous academic cycle

note: the example data generation has been updated to create some records that match this criteria, so any deployed app will have some placeable trainee's if you sign in with the "Annie Bell" Londinium Teacher Training persona

notes
Dependent on #3755

Is it worth setting up some test trainees under one of the personas? I don't think any of them fit the conditions in the review guidance

 Bulk placements CSV template download

Is it worth setting up some test trainees under one of the personas? I don't think any of them fit the conditions in the review guidance

good Idea, I'll add to this PR

nice work!

Following a discussion with @d-a-v-e  and previously @darokel there is confusion over trainees, TRNs and dates. This ticket states; “every trainee who has an end date in the previous cycle, they have been awarded (QTS) but they do not yet have a minimum of 2 placements”
I’ve clarified that as far as I am concerned to qualify for bulk upload we initially only required a TRN, START date and less than 2 placements. An end date was never required.
In recent conversations we’ve also removed the requirement for a Start date so now anyone with a TRN and less than 2 placements should be eligible for the bulk upload feature.

Been testing this with @d-a-v-e  today. All looking good :shipit:
I did run into an issue of note though that;
If I select the downloaded template or previous examples I get the “CSV is valid” if I select another CSV I get the “The selected file must be a CSV” message even though it is but without the expected headers.
After investigation it appears that my initial Test.csv was ‘Comma delimited’ rather than ‘Comma-separated’. After creating a new version it worked. It seems unfortunately that Comma delimited is the Excel default for saving as CSV.


Powertoys Run: no autocomplete sind updating to 0.18.1

Using PTRun by pressing the keys alt+space the small window appears, I can input any text but there is no autocompletion with suggestions, since I updated to 0.18.1 yesterday. The day before it was a great new tool!

@plastro can you attach a screenshot please? It's still giving autocompletion for me in v0.18.1

Hi Jessica, in between autocompletion seems to work properly. If something changes I will contact you again.
Thx, Markus Strobl
On Tue, May 26, 2020 at 6:47 PM +0200, "Jessica Yuwono"<EMAIL_ADDRESS>wrote:
@plastro can you attach a screenshot please? It's still giving autocompletion for me in v0.18.1
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

Awesome! I'm going to close the issue. Please feel free to reopen it if you encounter the problem again.


[FEATURE] [DRAFT] linkedin scheduler handler

PR #91 to add LinkedIn scheduler handler
/claim #91

Added new route - Complete
implement handler logic - WIP
testing

I am closing this as you are already working on the twitter handler. I will re-open when we merge the twitter handler.


Crash to desktop when using Item feature

http://pastebin.com/87H8H2hW
This doesn't happen right away. It is after I have saved my work and come back to it. Always crashes on the page that I have used the Item feature.

So, I really can't figure out what is going on. I re-did the book without using the item feature. I am fine in game when I am creating the book. If I exit MC and restart the whole game, next time I open the book it won't let me past page 5. It seems to be always page 5.  Here is the json file http://pastebin.com/Jn2dSr7s


Support for docker compose v2

Supersede #359

Tests uses "python on whales" (only docker compose >= v2): https://gabrieldemarmiesse.github.io/python-on-whales/
task_downstream.py can use docker-compose or 'docker compose'.
Python 3.7 was dropped from github tests and added python 3.11
Due to dependencies needs python >= 3.8.1
Updated pre-commit packages and dependencies (template project & rendered project)
Copier >= 8.0.0 doesn't support NoneType in strings questions... so now all not required str questions have an empty string as default value (The str to None issue causes that when launching 'copier update' on projects with "None" responses, recent versions of copier throw an exception. ~The only solution I have seen is to manually edit the response file to have an empty string instead of None)~.
Due to the changes made here 'https://github.com/Tecnativa/doodba-copier-template/commit/3224dc34c4a675bcf10a57c6c9d7b8e9d1093ce7#diff-0f76a5aa80b9c2ce9f078384ac3e4bccae3defa883c7183632932e624765de51', I understand that the regex that excludes files has started to work. This means that if there is only one test module, once ignored it will not be able to leave this state. To solve this, a second test module is generated (installable=False).
~The latest version of pylint-odoo is not used because it no longer supports many of the configured checks.~
Removed unsupported migration tests
Updated "faq" doc
Updated tests mqt diff samples and removed unused
Updated hostnames to ensure be always unique

ping @yajo @pedrobaeza @PicchiSeba
Look at the first message, especially to see what you think of points 6 and 7

I think that i can do somehting with copier "migration" tasks to ensure that the answers has valid values. Also, now that I understand this process I can get the 'test_migrations.py' tests ready again.
About point 7. What happens is that if you only have one module and in the manifest you change it to "installable=false" the pre-commit task 'oca-update-pre-commit-excluded-addons' puts it in the ignore list in pre-commit. So, if you put that module back to "installable=True", since it is ignored... it will not run the 'oca-update-pre-commit-excluded-addons' task again and it will not be removed from the ignore list.
The moment you modify something outside the module, the 'oca-update-pre-commit-excluded-addons' task can again detect that it is as "installable=True" and remove it from the list.

OK about point 6, although I think that it should be handled at copier level to accept NoneType / empty string for backwards compatibility and don't require migration scripts.
About point 7, we do that on new Odoo version with custom modules, and when we switch them back to installable=True, they are removed from the list with pre-commit, so I don't think there's any problem there. Maybe you are not doing pre-commit run -a, and thus, they are not being considered.

Copier >= 8.0.0 doesn't support NoneType in strings questions... so now all not required str questions have an empty string as default value (The str to None issue causes that when launching 'copier update' on projects with "None" responses, recent versions of copier throw an exception. The only solution I have seen is to manually edit the response file to have an empty string instead of None).

Correct. You can also recopy the template.

Due to the changes made here '3224dc3#diff-0f76a5aa80b9c2ce9f078384ac3e4bccae3defa883c7183632932e624765de51', I understand that the regex that excludes files has started to work. This means that if there is only one test module, once ignored it will not be able to leave this state. To solve this, a second test module is generated (installable=False).

Correct.

The latest version of pylint-odoo is not used because it no longer supports many of the configured checks.

OK. You could also update the configurations. Take a look at https://github.com/OCA/oca-addons-repo-template/pull/204 for inspiration.

@pedrobaeza @yajo The problems it is giving is because of the diffs with the oca-addons-repo-template repo. I don't really know the reason for testing this, I guess to detect changes. If you see the changes correct I will update the diffs.
From what I see in 'oca-addons-repo-template' the 'pylintrc*' files use deprecated pylint-odoo directives for the version used in Odoo 16.0.
The changes I have applied here differ quite a bit from those applied in the repo.

I don't really know the reason for testing this, I guess to detect changes

Yes, that's it basically.
Back then when I designed that test, it was to assume that we have different configs, but that's the "supported diff".
When upstream evolves, we should update and, if it makes sense, change that diff.

haven't had time to look at all the changes, but just wanted to say, thank you so much for your work :pray:

Ok, all green.

@Yajo @Tardo I'm applying this new template over a v16 project and I'm finding a big diff in the pylint checks:
-enable=anomalous-backslash-in-string,
-    api-one-deprecated,
-    api-one-multi-together,
-    assignment-from-none,
-    attribute-deprecated,
-    class-camelcase,
-    dangerous-default-value,
-    dangerous-view-replace-wo-priority,
-    duplicate-id-csv,
-    duplicate-key,
-    duplicate-xml-fields,
-    duplicate-xml-record-id,
-    eval-referenced,
-    eval-used,
-    incoherent-interpreter-exec-perm,
+# messages that do not cause the lint step to fail
+enable=attribute-deprecated,
+    consider-merging-classes-inherited,
+    invalid-commit,
     license-allowed,
     manifest-author-string,
     manifest-deprecated-key,
@@ -45,41 +34,39 @@ enable=anomalous-backslash-in-string,
     method-inverse,
     method-required-super,
     method-search,
-    missing-import-error,
-    missing-manifest-dependency,
-    openerp-exception-warning,
-    pointless-statement,
-    pointless-string-statement,
+    missing-readme,
+    odoo-addons-relative-import,
     print-used,
-    redundant-keyword-arg,
-    redundant-modulename-xml,
-    reimported,
-    relative-import,
-    return-in-init,
-    rst-syntax-error,
     sql-injection,
-    too-few-format-args,
     translation-field,
     translation-required,
-    unreachable,
     use-vim-comment,
-    wrong-tabs-instead-of-spaces,
-    xml-syntax-error,
-    # messages that do not cause the lint step to fail
-    consider-merging-classes-inherited,
-    create-user-wo-reset-password,
-    dangerous-filter-wo-user,
-    deprecated-module,
-    file-not-used,
-    invalid-commit,
-    missing-newline-extrafiles,
-    missing-readme,
-    no-utf8-coding-comment,
-    odoo-addons-relative-import,
-    old-api7-method-defined,
-    redefined-builtin,
-    too-complex,
-    unnecessary-utf8-coding-comment
+    attribute-string-redundant,
+    bad-builtin-groupby,
+    context-overridden,
+    development-status-allowed,
+    except-pass,
+    external-request-timeout,
+    manifest-data-duplicated,
+    manifest-maintainers-list,
+    missing-return,
+    no-raise-unlink,
+    no-wizard-in-models,
+    no-write-in-compute,
+    odoo-exception-warning,
+    renamed-field-parameter,
+    resource-not-exist,
+    test-folder-imported,
+    translation-contains-variable,
+    translation-format-interpolation,
+    translation-format-truncated,
+    translation-fstring-interpolation,
+    translation-not-lazy,
+    translation-positional-used,
+    translation-too-few-args,
+    translation-too-many-args,
+    translation-unsupported-format,
+    website-manifest-key-not-valid-uri

Do you know why?

@pedrobaeza this is due a change in the available checks. I don't understand how such a big change is treated as a minor change... but pylint-odoo throws warnings if you keep using the usual checks :/
Readme v8.0.20 (Odoo >= 16.0): https://github.com/OCA/pylint-odoo/tree/v8.0.20
Readme v8.0.0 (Odoo <= 15.0): https://github.com/OCA/pylint-odoo/tree/v8.0.0

@pedrobaeza and the version of pylint-odoo used for Odoo >16.0 comes from here: https://github.com/OCA/oca-addons-repo-template/blob/41a1360e877407db3800ee66afc5bbf192f23c89/src/.pre-commit-config.yaml.jinja#L52

I think the key is that they are now checked through https://github.com/OCA/odoo-pre-commit-hooks, but its inclusion in the pre-commit config file is missing, unlike in OCA template:
https://github.com/OCA/oca-addons-repo-template/blob/41a1360e877407db3800ee66afc5bbf192f23c89/src/.pre-commit-config.yaml.jinja#L116C34-L116C55
Can you please include such hook?